0

[更新]コマンドで編集するためにレコードを開く[編集]ボタンのあるGridViewがあります。これは、コードビハインドのRowEditingイベントに接続されており、クリックすると期待どおりに機能します。

ただし、挿入をサポートするためにGridViewをハッキングしています。これには、コレクションをデータソースに割り当てる前にエンティティコレクションの先頭に空白のエンティティを追加し、編集のために最初の行を開くことが含まれます。次のようになります。

MyDataGrid.DataSource = New MyEntity() {New MyEntity()}.Union(MyDbEntities)
MyDataGrid.EditIndex = 0
MyDataGrid.DataBind()

それは機能し、真新しいレコードを追加できる空白の行を開きます。ただし、RowEditingイベントはトリガーされません。クライアントに配信される前に特定のコントロールを準備するために特別なコードが実行されるため、このイベントをトリガーする必要があります。GridViewRowオブジェクトをパラメーターとして受け入れるヘルパーメソッドを作成できることは知っていますが、すべてが自然に流れるように、特定の行でグリッドのUpdateコマンドを呼び出したいと思います。

4

1 に答える 1

0

GridView をサブクラス化していますか、それとも多くの余分なコードでラップしていますか?

サブクラス化する場合は、OnRowEditing保護されたメソッドにアクセスできる必要があります。それを呼び出すと、イベントが発生します (イベント ハンドラーがアタッチされていると仮定します)。

実際、サブクラス化をお勧めします。これにより、移植性と再利用性が向上し、他の方法ではアクセスできないかなりの数のメソッドにアクセスできるようになります。

于 2013-02-21T16:17:15.210 に答える