C# gridview中的排序事件未激发
我在谷歌上搜索了很多次,但是没有任何关于我的解决方案的有用链接。我有AllwSorting=“true”和OnSort函数。今天我发布这个问题,谢谢你的帮助。 这是我的ASCX:C# gridview中的排序事件未激发,c#,asp.net,gridview,C#,Asp.net,Gridview,我在谷歌上搜索了很多次,但是没有任何关于我的解决方案的有用链接。我有AllwSorting=“true”和OnSort函数。今天我发布这个问题,谢谢你的帮助。 这是我的ASCX: <asp:GridView ID="gvwCus" runat="server" CssClass="gridview" AlternatingRowStyle-CssClass="even" AutoGenerateColumns="false" GridLines="Vertical" AllowPaging
<asp:GridView ID="gvwCus" runat="server" CssClass="gridview" AlternatingRowStyle-CssClass="even" AutoGenerateColumns="false" GridLines="Vertical" AllowPaging="false" OnRowCommand="RowCommand" AllowSorting="true" OnSorting="gvwCus_OnSorting">
<Columns>
<asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center" HeaderStyle-Width="4%">
<HeaderTemplate>STT</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblId" runat="server" Text="<%#Container.DataItemIndex + 1%>"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderStyle-Width="12%" DataField="field1" HeaderText="Field1_Header" ItemStyle-HorizontalAlign="Left" HeaderStyle-HorizontalAlign="Center"/>
<asp:BoundField HeaderStyle-Width="30%" DataField="field2" HeaderText="Field2_Header" ItemStyle-HorizontalAlign="Left" HeaderStyle-HorizontalAlign="Center"/>
<asp:BoundField HeaderStyle-Width="31%" DataField="field3" HeaderText="Field3_Header" ItemStyle-HorizontalAlign="Left" HeaderStyle-HorizontalAlign="Center"/>
<asp:BoundField HeaderStyle-Width="20%" DataField="field4" HeaderText="Field4_Header" ItemStyle-HorizontalAlign="Left" HeaderStyle-HorizontalAlign="Center" />
<asp:CommandField HeaderStyle-Width="2%" ButtonType="Image" SelectImageUrl="~/Images/detail.png" ShowSelectButton="true" />
</Columns>
</asp:GridView>
谢谢 您没有为要排序的列设置排序表达式。添加SortExpression,您将看到每个列的超链接。单击这些链接将触发排序事件。添加sortexpression后,您的边界字段应如下所示:
<asp:BoundField SortExpression="field1" HeaderStyle-Width="12%" DataField="field1" HeaderText="Field1_Header" ItemStyle-HorizontalAlign="Left" HeaderStyle-HorizontalAlign="Center"/>
<asp:BoundField SortExpression="field2" HeaderStyle-Width="30%" DataField="field2" HeaderText="Field2_Header" ItemStyle-HorizontalAlign="Left" HeaderStyle-HorizontalAlign="Center"/>
<asp:BoundField SortExpression="field3" HeaderStyle-Width="31%" DataField="field3" HeaderText="Field3_Header" ItemStyle-HorizontalAlign="Left" HeaderStyle-HorizontalAlign="Center"/>
<asp:BoundField SortExpression="field4" HeaderStyle-Width="20%" DataField="field4" HeaderText="Field4_Header" ItemStyle-HorizontalAlign="Left" HeaderStyle-HorizontalAlign="Center" />
呈现的标题应如下所示:
你怎么知道事件没有触发?@EmmadKareem:我在gvwCus_OnSorting函数上设置了断点。网格也会对数据进行排序,但事件没有触发?绑定代码在哪里?@EmmadKareem:bind data是DataBind函数。数据为:data=dataOracle.GetDataTable()。我在谷歌上搜索到,当我点击标题时,事件运行到gvwCus_排序函数断点,但我的代码没有触发。这是我的问题,太棒了。非常感谢!!
<asp:BoundField SortExpression="field1" HeaderStyle-Width="12%" DataField="field1" HeaderText="Field1_Header" ItemStyle-HorizontalAlign="Left" HeaderStyle-HorizontalAlign="Center"/>
<asp:BoundField SortExpression="field2" HeaderStyle-Width="30%" DataField="field2" HeaderText="Field2_Header" ItemStyle-HorizontalAlign="Left" HeaderStyle-HorizontalAlign="Center"/>
<asp:BoundField SortExpression="field3" HeaderStyle-Width="31%" DataField="field3" HeaderText="Field3_Header" ItemStyle-HorizontalAlign="Left" HeaderStyle-HorizontalAlign="Center"/>
<asp:BoundField SortExpression="field4" HeaderStyle-Width="20%" DataField="field4" HeaderText="Field4_Header" ItemStyle-HorizontalAlign="Left" HeaderStyle-HorizontalAlign="Center" />