如何更改gridview中的列名称 [英] How to change the column names in gridview
问题描述
我在数据库中有表。我正在获取该表的记录并在gridview中显示它。在这里,列名与数据库表中的列名相同。
我需要在gridview中更改colums的名称。任何人都可以帮助我吗?
Hi,
I have table in database. I am fetching the records of that table and displaying it in a gridview. In this the column names are same as the that of the column names in databse table.
I need to change the name of colums in gridview. Can anyone help me ?
Protected void Page_Load(object sender, EventArgs e)
{
SqlCommand cmd = new SqlCommand("select username,Level1_Attempt1,Level1_Attempt2,Level1_Attempt3,Level2_Attempt1,Level2_Attempt2,Level2_Attempt3,Level3_Attempt1,Level3_Attempt2,Level3_Attempt3 from register", con);
con.Open();
SqlDataReader sdr = cmd.ExecuteReader();
GridView1.DataSource = sdr;
GridView1.DataBind();
con.Close();
}
我需要更改名称level1_attempt1,level1_attempt2,.......并输入所需的名称我对gridview的兴趣
I need to change the names level1_attempt1,level1_attempt2,.......and put required names of my interest in gridview
推荐答案
您可以使用itemtemplates和模板字段将数据库列与网格绑定:
You can use itemtemplates and template fields to bind the database colums with grid:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnPageIndexChanging="GridView1_PageIndexChanging" PageSize="10">
<Columns>
<asp:TemplateField HeaderText="ID">
<ItemTemplate>
<asp:Label ID="lblid" runat="server" Text= '<%#Eval("id")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Date">
<ItemTemplate>
<%#Eval("date")%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Time In">
<ItemTemplate>
<%#Eval("timein")%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Time Out">
<ItemTemplate>
<%#Eval("timeout")%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Status">
<ItemTemplate>
<%#Eval("time_status")%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Reason">
<ItemTemplate>
<asp:TextBox ID="txtreason" TextMode="MultiLine" Width="300" Height="100" Text= '<%#Eval("reason")%>' runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Grant Status">
<ItemTemplate>
<%#Eval("granted")%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemTemplate>
<asp:LinkButton ID="lnkbtnUpdate" runat="server" Text="Send Cancel Req" CommandName="Update"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
逻辑
dataGridView1.Columns[id].HeaderText = "your desire name";
可以解决问题。
请参见此处的示例..
http://stackoverflow.com/questions/13395321/change-column-name-in-datagridview [ ^ ]
would do the trick.
See and example here..
http://stackoverflow.com/questions/13395321/change-column-name-in-datagridview[^]
根据给出的解决方案,
我会说No.2是唯一一个对你的情况有帮助的人。
然而你不应该这样做。
当你可以在根目录修复它时不要转发问题。
Based on the solutions given,
I would say No.2 is the only one which helps best in your case.
However you should not do it that way.
Don't forward the problem when you can fix it at its root.
--Rename your columns right at your sql statement:
select username AS 'Username', Level1_Attempt1 AS 'First Level1 Attempt'..... FROM register
这篇关于如何更改gridview中的列名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!