Asp.NET 4.0网格视图默认排序方向&;表示

本文关键字:方向 amp 表示 排序 默认 NET 网格 视图 Asp | 更新日期: 2023-09-27 17:58:35

Asp.net 4.0 gridView内置的对"排序箭头"的支持节省了一些代码。当我的所有网格从数据库返回时,它们都是默认排序的,所以我应该使用ASP指示哪个列是默认的排序,这似乎是合乎逻辑的。NET SortedDescendingHeaderStyle CssClass等

ASP。NET并没有神奇地修饰默认排序列:它无法知道SQL指定的顺序。我可以用正确的CSS类以声明方式或编程方式装饰适当的标题单元格。。。但是随后ASP。NET在我排序时不会为我删除它。所以目前我正在通过在第一个"排序"事件中遍历标题单元格来查找它来剥离它。所以我有一段代码,我运行了两次,一次是添加箭头,另一次是在第一次手动排序时删除箭头。这很复杂,几乎和4.0之前完成整个工作一样多。

所以。。。我一定错过了什么:有没有办法告诉ASP。NET GridView,它的内容已经以避免手动添加然后删除排序指示符的方式进行了排序?

Asp.NET 4.0网格视图默认排序方向&;表示

如果您知道排序表达式&方向您可以通过以下方式明确设置:

GridView.Sort(expression, direction);

表达式将是列列表"col1, col2, etc"

删除GridView中使用AutoGenerateColumn 定界的特定列的排序

protected void GridView_PreRender(object sender, System.EventArgs e) 
{
    if (GridView.AllowSorting)
    {
        foreach (TableCell tc in GridView.HeaderRow.Cells)
        {
            if (tc.HasControls())
            {
                LinkButton lb = (LinkButton)tc.Controls[0];
                if (lb != null && lb.Text.Equals("ColumnName"))
                {                            
                    tc.Attributes.Add("onclick", "return false;");
                }                        
            }
        }
    }
}