asp.net中单击Datagrid列头排序(vb.net)

王朝vb·作者佚名  2006-01-09
宽屏版  字体: |||超大  

请按照步骤进行:

1: datagrid的属性

AllowSorting=”true”:表示启用DataGrid排序的功能

2: 在HTML里面(加在table外面)加入一个<input id="sortfield" type="hidden" value="activity_student_id" name="sortfield" runat="server">

作为排序时改变字段用

3:datagrid中的排序表达式和数字字段一致

4 :加入命名空间 Imports System.Data

Imports System.Data.SqlClient

5:If InStr(sortfield.Value, "desc") = 0 Then

sortfield.Value = e.SortExpression & " desc"

Else

sortfield.Value = e.SortExpression & " asc"

End If

BindGrid()

说明:《1》e.SortExpression等于“被按下之排序链接”的字段名称。

《2》 If InStr(sortfield.Value, "desc") = 0如果原来的排序方式原来的排序方式为“递增排序”。这时把排序方式(softfield.value)设置成”Desc”(表示递减排序)。否则设置为””,表示为“递增排序”

《3》这时softfield.value获得的就是”字段”+”排序” 接着BindGrid().

Sub bindgrid()

txtSQL = "select * from ……where……….

DBSet = ExecuteSQL(txtSQL, ErrorMsg) '每个程序员获取dataset的方式都不一样,

'总之这里你就想办法获取一个dataset数据集 ,您也可以参考我的vb连接 sqlserver2000数据库的函数

Dim dtable As DataTable = DBSet.Tables(0)

Dim dview As New DataView(dtable)

dg.Sort = sortfield.Value

dg.DataSource = dview

dg.DataBind()

End Sub

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有