- - PR -
[C#][WinForm]DataTable.ColumnChangedイベントにて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-08-10 16:29
お世話になります。
DataTable.ColumnChangedイベントにて、 変更行のRowIndexを取得する事は出来ないでしょうか? UIよりDataGridの任意のカラムを変更した場合には DataGrid.CurrentCellからRowIndex(RowNumber)を取得出来ますが、 その他の方法でセルの値を変更した場合にRowIndexが取得出来ません。 変更行の一つ前の行に対しての処理を行いたいので、 DataColumnChangeEventArgsも使えません。 何かご存知あればアドバイスよろしくお願いします。 |
|
投稿日時: 2004-08-11 14:41
はじめまして
senderを使用して DataTableの行とe.Rowを比較することで 編集行の値を取得できました。 private void DataTable_ColumnChanged(object sender, DataColumnChangeEventArgs e) { DataTable dataTable = sender as DataTable; if( dataTable != null ) { //senderとe.Rowの比較をする for( int i = 0 ; i < dataTable.Rows.Count ; i++) { DataRow dataRow = dataTable.Rows[i]; if( dataRow.Equals( e.Row ) ) { Console.WriteLine( "編集行のINDEX:" + i.ToString() ); } } } } この方法だとDataTableの行が多いと大変かもしれないですね^^; 他の方法は思いつきませんでした。。 |
|
投稿日時: 2004-08-11 15:11
なるほど!
そういう方法がありましたか!すばらしい考えだと思います。 他の良い方法が見つかるまで、この方法でいきたいと思います。 本当にありがとうございました。 |
1