1

新しい行を挿入するために InitNewRow イベントを使用して ASPXComboBox にデータを入力しようとしていますが、データを ASPXComboBox にバインドする際に問題が発生しています。

行の編集に CellEditorInitialize イベントを使用しましたが、正常に動作しますが、InitNewRow イベントの同じプリンシパルで「オブジェクトがオブジェクトのインスタンスに設定されていません」という例外が発生します。ただし、呼び出されるビジネス ロジック関数は、完全に設定された DataTable を返します。

誰でもこれを手伝ってくれませんか。

4

1 に答える 1

0

コンボ ボックスの DataSource を設定する場合は、この目的のためにCellEditorInitializeイベントを使用します。新しい行の挿入モードでグリッドがいつ機能するかを判断する必要がある場合は、ASPxGridView のIsNewRowEditingプロパティを使用します。つまり、コードは次のようになります。

protected void ASPxGridView1_CellEditorInitialize(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewEditorEventArgs e) {
        ASPxGridView grid = sender as ASPxGridView;
        if(e.Column.FieldName == "SomeFieldName" && grid.IsNewRowEditing) {
            ASPxComboBox combo = e.Editor as ASPxComboBox;
            combo.DataSource = DataTable;
            combo.DataBindItems();
        }
    }

このアプローチはあなたに適していますか?

于 2011-06-30T15:50:05.263 に答える