Instead of using BoundField one shoud always prefer to use ItemTemplate for such a scenario.. try the following code the following way ....
<asp:GridView ID="gridview1" runat="server" AllowSorting="True" AutoGenerateColumns="False" AllowPaging="True">
<Columns>
<asp:TemplateField HeaderText="Name">
<ItemTemplate>
<asp:Label Text='<%#Eval("fName") + " " + Eval("mname") + " " + Eval("lname") %> ' runat="server"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
The code behind is like ...
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("fname");
dt.Columns.Add("mname");
dt.Columns.Add("lname");
dt.Rows.Add("R", "k", "Hirpara");
dt.Rows.Add("Vinay", "B", "Patil");
dt.Rows.Add("Imran", "Z", "Khan");
gridview1.DataSource = dt;
gridview1.DataBind();
}