簡體   English   中英

單擊標題框對 Asp.net/C#/Vb.net 中的列進行排序

[英]Click Header box to sort the column in Asp.net/C#/Vb.net

有沒有辦法通過單擊標題框中的任意位置來對 GridView (ASP.Net) 進行排序? GridView 的當前排序僅在標題文本上。 嘗試搜索但仍然沒有運氣。

謝謝你。

好的,有很多方法可以做到這一點。 甚至可能用按鈕代替鏈接按鈕。

但是,這可以工作 - 使用 riw 數據綁定事件,並且對於每個具有鏈接按鈕的標題單元格,即使排序命令使用,您也可以添加相同的單擊。

所以,這樣說:

Protected Sub GridView1_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GridView1.RowDataBound

    If e.Row.RowType = DataControlRowType.Header Then

        For Each MyHead As TableCell In e.Row.Cells
            For Each MyControl As Control In MyHead.Controls
                If MyControl.GetType.BaseType = GetType(LinkButton) Then
                    Dim btnLink As LinkButton = MyControl
                    MyHead.Attributes.Add("onclick", "__doPostBack(" & "'GridView1'" & ",'Sort$" & btnLink.Text & "')")
                End If
            Next
        Next

    End If
End Sub

上面硬編碼的唯一部分是 GridView1 - 您必須將其更改為網格視圖的名稱,但上面似乎確實有效。 實際上,可能可以跳過額外的循環,但是如果一列沒有排序,那么按照上面的方法檢查子控件似乎是個好主意。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM