- - PR -
【DataGrid】複数行を選択したとき選択した行数を取得
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-03-10 11:41
いつもお世話になっております。
質問させて頂きます。 開発環境:VS.NET 2003 開発言語:C# 件名の通りDataGridにて複数の行を選択した場合の 選択した行数を取得する方法を調べております。 最終的に実装したい機能は 複数行選択し、削除ボタンを押すことで 選択した行を削除する機能です。 デバックでDataGrid内を見てみると 選択した行を保持しているメンバ(numSelectedRows) がいるようですが非公開メンバのようで取得できませんでした。 他に何か方法はありませんでしょうか。 もしご存知の方いらっしゃいましたら どうかご教授願います。 | ||||||||
|
投稿日時: 2006-03-10 12:39
取得する方法はあります。
が、これだけでは解決できないように思えます。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-03-13 14:26
じゃんぬねっとさん>
度々返答ありがとうございます。 教えて頂いた方法を試してみました。 そこで1点問題ありまして 再度質問させて頂きました。 InvokeMemberメソッド実行時に 下記の例外エラーが発生しています。 **************************************************************************** フィールド BoardThicknessAnalyzesSystem.MyDataGrid.RowPluralSelect が見つかりません。**************************************************************************** 上記のMyDataGridというのはDataGridを意味しています。 実は私が使用しているDataGridは 選択行の色替えをアプリ側で制御出来るように DataGridを継承したMyDataGridなるものを製作して 使用しています。 このことが原因となっているかと思いましたが 違うようでした。 またInvokeMemberの第一パラメータに 通常アクセスできるメンバの名称を指定してみましたが 同様の例外エラーが発生してしまいます。 色々値を変更してみましたが 未だ進展がありません。 どうかご教授願います。 | ||||||||
|
投稿日時: 2006-03-13 14:29
一部、掲載文が誤っていました。
すいません。 出ているのは下記の例外エラーメッセージです。 **************************************************************************** フィールド BoardThicknessAnalyzesSystem.MyDataGrid.numSelectedRows が見つかりません。**************************************************************************** | ||||||||
|
投稿日時: 2006-03-13 15:10
私の環境では取得できますよ。> System.Windows.Forms.DataGrid さんの numSelectedRows
どのようなコードを書かれていますか? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-03-13 17:17
>私の環境では取得できますよ。> System.Windows.Forms.DataGrid さんの
>numSelectedRows >どのようなコードを書かれていますか? そのままカットアンドペーストしているのですが・・・。 環境の違いとしか言いようが無いのでしょうか。 詳しくエラーメッセージを書きますと以下になります。 *************************************************** 'System.MissingFieldException' のハンドルされていない例外が mscorlib.dll で発生しました。 追加情報 : 見つからないメンバにアクセスしようとしました。 *************************************************** と例外発生します。 何度やっても出てしまいます。 じゃんぬねっとさんは環境はどのような状態でしょうか? 環境は一番最初の書込みで少し乗せていますが 開発環境:VS.NET 2003 OS:XP Pro SP2 です。 | ||||||||
|
投稿日時: 2006-03-13 17:33
そりゃ派生クラスは基底クラスのプライベートフィールドの情報は持ってないでしょうね。
(this.dataGrid1).GetType() ではなく、 typeof(DataGrid) でやってください。 // GetType を訂正。 // VB いじってたらすぐこれだ(^^; [ メッセージ編集済み 編集者: Hongliang 編集日時 2006-03-13 17:34 ] | ||||||||
|
投稿日時: 2006-03-13 17:35
DataGridで選択されている行を取得する
http://dobon.net/vb/dotnet/datagrid/selectedrows.html |