单击标题框对 Asp.net/C#/Vb.net 中的列进行排序

微风先生

有没有办法通过单击标题框中的任意位置来对 GridView (ASP.Net) 进行排序?GridView 的当前排序仅在标题文本上。尝试搜索但仍然没有运气。

谢谢你。

阿尔伯特·D·卡拉勒

好的,有很多方法可以做到这一点。甚至可能用按钮代替链接按钮。

但是,这可以工作 - 使用 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 - 您必须将其更改为网格视图的名称,但上面似乎确实有效。实际上,可能可以跳过额外的循环,但是如果一列没有排序,那么按照上面的方法检查子控件似乎是个好主意。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章