【发布时间】:2015-11-26 03:16:26
【问题描述】:
我有一个自定义的网格视图。代码如下。
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" GridLines="None" Width="768px" CellPadding="4" ForeColor="#333333" AllowPaging="True" PageSize="20" OnPageIndexChanging="gridView_PageIndexChanging" AllowSorting="true" OnSorting="gridViewSorting">
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:TemplateField HeaderText="User ID" HeaderStyle-HorizontalAlign="Left" HeaderStyle-Width="33%" SortExpression="USERID" >
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" OnClick="LinkButton1_Click" Text='<%#Eval("USERID") %>' runat="server">
<asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="USERNAME" HeaderText="User Name" HeaderStyle-HorizontalAlign="Left" HeaderStyle-Width="33%">
</asp:BoundField>
<asp:BoundField DataField="USERPOSITION" HeaderText="User Position" HeaderStyle-HorizontalAlign="Left" HeaderStyle-Width="33%">
</asp:BoundField>
</Columns>
<PagerSettings Mode="Numeric" PageButtonCount="10"/>
<PagerStyle HorizontalAlign="Center" BackColor="White" />
</asp:GridView>
我希望在这个gridview中进行排序,但由于它是模板字段和数据字段,因此我无法使用asp.net中的默认功能
我使用后端代码进行排序,但它似乎不起作用。
排序的后端代码如下
protected void gridViewSorting(object sender, GridViewSortEventArgs e)
{
DataTable dataTable = GridView1.DataSource as DataTable;
if (dataTable != null)
{
DataView dataView = new DataView(dataTable);
dataView.Sort = e.SortExpression + "USERID ASC";
GridView1.DataSource = dataView;
GridView1.DataBind();
}
}
我尝试了几种方法,参考了很少的资源,它仍然有效
非常感谢您的意见和建议!
非常感谢!
【问题讨论】:
标签: c# asp.net sorting gridview