我有一个绑定到通用集合的数据网格。在 Page_Load 事件中,我相应地检查!this.IsPostback
并调用网格上的 DataBind。
然后,如果我尝试通过指定唯一名称和排序表达式来实现排序,即使页面是回发,它也希望我调用 DataBind。
这种情况通常如何处理?在 Page_Load 中调用无条件 DataBind 似乎不是一个好主意。
我有一个绑定到通用集合的数据网格。在 Page_Load 事件中,我相应地检查!this.IsPostback
并调用网格上的 DataBind。
然后,如果我尝试通过指定唯一名称和排序表达式来实现排序,即使页面是回发,它也希望我调用 DataBind。
这种情况通常如何处理?在 Page_Load 中调用无条件 DataBind 似乎不是一个好主意。
在 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();
}
如果您更改排序,则始终需要重新加载,因为控件需要重新填充而不是更改。自从我完成任何 asp.net 以来已经有一段时间了,但我很确定无论您是否调用 databind,数据都绑定在每个回帖上,而您不必手动执行此操作的唯一原因是视图状态.