【问题标题】:programmatically sort a gridview that is bound to a dataset (stored procedure)以编程方式对绑定到数据集(存储过程)的 gridview 进行排序
【发布时间】:2013-04-03 13:34:11
【问题描述】:

我有一个在按钮单击时绑定到数据集的 gridview,该数据集本身由存储过程填充。我只是想知道是否有一种简单的方法可以将排序应用于gridview而无需更改任何sql?

【问题讨论】:

  • 我曾考虑过切换到 sqlDataSource,但我需要使用按钮更新 gridview 的选项 - 因此以编程方式绑定它。我也尝试将数据集放入数据视图中

标签: asp.net stored-procedures gridview dataset


【解决方案1】:
 protected void radgvData_SortCommand(object sender, GridSortCommandEventArgs e)
        {
            GridTableView tableView = e.Item.OwnerTableView;
            e.Canceled = true;
            GridSortExpression expression = new GridSortExpression();
            expression.FieldName = e.SortExpression;
            if (tableView.SortExpressions.Count == 0 || tableView.SortExpressions[0].FieldName != e.SortExpression)
                expression.SortOrder = GridSortOrder.Descending;
            else if (tableView.SortExpressions[0].SortOrder == GridSortOrder.Descending)
                expression.SortOrder = GridSortOrder.Ascending;
            else if (tableView.SortExpressions[0].SortOrder == GridSortOrder.Ascending)
                expression.SortOrder = GridSortOrder.Descending;
            tableView.SortExpressions.AddSortExpression(expression);
            radgvData.Rebind();
        }

试试这个代码进行排序............

【讨论】:

    【解决方案2】:

    您可以在任何临时数据表中获取存储过程值,然后对数据表数据应用排序并绑定到 gridview 。

    【讨论】:

    • 是的,这实际上是我所做的,而且效果很好——在这里找到了一个很棒的小教程link
    猜你喜欢
    • 1970-01-01
    • 2011-09-15
    • 2014-02-20
    • 1970-01-01
    • 2010-11-11
    • 1970-01-01
    • 2013-06-02
    • 2021-10-02
    • 1970-01-01
    相关资源
    最近更新 更多