1

我有一个绑定到通用集合的数据网格。在 Page_Load 事件中,我相应地检查!this.IsPostback并调用网格上的 DataBind。

然后,如果我尝试通过指定唯一名称和排序表达式来实现排序,即使页面是回发,它也希望我调用 DataBind。

这种情况通常如何处理?在 Page_Load 中调用无条件 DataBind 似乎不是一个好主意。

4

2 回答 2

3

在 SortCommand 事件中调用您的数据绑定代码:

void DataGrid1_SortCommand(Object sender, DataGridSortCommandEventArgs e)
    {
        // Retrieve the data source.
        DataTable dt = YOURDATA;

        // Create a DataView from the DataTable.
        DataView dv = new DataView(dt);

        // The DataView provides an easy way to sort. Simply set the
        // Sort property with the name of the field to sort by.
        dv.Sort = e.SortExpression;

        // Rebind the data source and specify that it should be sorted
        // by the field specified in the SortExpression property.
        DataGrid1.DataSource = dv;
        DataGrid1.DataBind();
    }
于 2012-06-08T11:47:05.160 回答
0

如果您更改排序,则始终需要重新加载,因为控件需要重新填充而不是更改。自从我完成任何 asp.net 以来已经有一段时间了,但我很确定无论您是否调用 databind,数据都绑定在每个回帖上,而您不必手动执行此操作的唯一原因是视图状态.

于 2012-06-08T11:48:21.057 回答