初学者问

weikunlun 2003-12-01 03:51:39
如何使的DATAGRID排序,点表头升序排一次,在点降序再排
如何写呢?谢谢
...全文
41 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
weikunlun 2003-12-01
  • 打赏
  • 举报
回复
能用C#给写吗?十分感谢!看不懂啊
表头名字是?????
eyestrong 2003-12-01
  • 打赏
  • 举报
回复
see:
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/vbcon/html/vbtskaddingsortingtodatagridwebcontrol.htm
and
DataGrid Web 服务器控件提供一种向网格中添加排序功能的途径,可以使用下列这些方法排序:

默认排序 网格中的所有列都可以排序。每列的标头包含一个 LinkButton 控件(超级链接),用户单击该控件可以按该列进行排序。
自定义排序 定义可将哪些列排序以及用户单击该列标头中什么类型的按钮进行排序。
在这两种情况中,网格都不排序行。而是通过引发事件将排序请求通知给您。您然后在自己的代码中执行排序,方法通常是进行排序然后重新绑定到该数据源。

felixl 2003-12-01
  • 打赏
  • 举报
回复
datagrid里加这个属性OnSortCommand="grdParts_Sort" AllowSorting="True"
<asp:TemplateColumn ItemStyle-Width="125" HeaderText="id" SortExpression="[content].id ">
<ItemTemplate>
<asp:HyperLink ID="id" Runat="server">
<%# DataBinder.Eval(Container.DataItem,"id") %>
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>

<asp:label id="lblSortColumn" Runat="server" text="[partment].partname " Visible="False"></asp:label><asp:label id="lblSortOrder" Runat="server" text="DESC" Visible="False"></asp:label>

后台写代码
Public Sub grdParts_Sort(ByVal sender As Object, ByVal e As DataGridSortCommandEventArgs)
If lblSortColumn.Text = e.SortExpression Then
If lblSortOrder.Text = "DESC" Then
lblSortOrder.Text = "ASC"
Else
lblSortOrder.Text = "DESC"
End If

Else
lblSortColumn.Text = e.SortExpression
lblSortOrder.Text = "ASC"
End If
grdMain.DataSource = GetDataView(strSQL, "content")
grdMain.DataBind()
End Sub
代码是VB的,你稍加修改就可以了!

111,115

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧