关于VB.NET中GridView排序的问题:
我有一个带AutoGenerateColumns = True
<asp:GridView ID="GridView1" FooterStyle-BackColor="Aquamarine"
AutoGenerateColumns="true" AllowSorting="true" OnSorting="Gridview1_Sorting"
AllowPaging="True" PageSize="12" OnRowCreated="GridView1_RowCreated"
RowStyle-Wrap="true" runat="server" Width="100%" >
<HeaderStyle BackColor="#E0E0E0" ForeColor="#000000"/>
<FooterStyle BackColor="Aquamarine" />
<emptydatarowstyle backcolor="#CBE0FD" forecolor="#0000FF"/>
</asp:GridView>
我已经声明了排序事件处理程序(OnSorting="Gridview1_Sorting"
),它工作正常。
但是,然后我更改了列标题(标题,因为它们在我从数据库中获取的DataSet中)
GridView1.HeaderRow.Cells(0).Text = "Document" ' "PROC_UID"
GridView1.HeaderRow.Cells(1).Text = "Process Step" ' "PROC_DOC_UID"
当我设置HeaderRow文本时,我无法再单击要排序的标题(它也不再加下划线)。 我该如何纠正?
答案 0 :(得分:4)
请参阅http://forums.asp.net/p/996470/1691883.aspx#1691883
您需要在控件集中找到链接按钮,然后更新链接文本。
答案 1 :(得分:2)
您可以通过在网格使用的SQL查询中对列进行别名来更改列标题:
Select ColumnA as [Whatever], ColumnB as [Name It This] From Table ....