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

类别:.NET开发 点击:0 评论:0 推荐:

请按照步骤进行:
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

本文地址:http://com.8s8s.com/it/it42400.htm