1

ジェネリック コレクションにバインドされたデータ グリッドがあります。Page_Load イベントでは、!this.IsPostbackそれに応じてグリッドの DataBind を確認して呼び出します。

次に、uniquename と sortexpression を指定して並べ替えを実装しようとすると、ページがポストバックであっても 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 に答える