- PR -

WindowsFormのDataGridについて

1
投稿者投稿内容
ゆき
大ベテラン
会議室デビュー日: 2003/11/02
投稿数: 121
投稿日時: 2005-08-04 09:20
おはようございます。
初歩的な質問で申し訳ないのですが、
Windows Form(VB.NET)DataGridで、セルをクリックしたり、入力が完了したりした時のDataGridの行番号を知る方法がわかりません。ASP.NETのDataGridとは違うようで・・・。
どなたかご存知でしたら、教えて下さい。
よろしくお願いします。
Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2005-08-04 09:32
こちらが参考になるでしょう。
http://dobon.net/vb/dotnet/datagrid/currentrow.html
trapemiya
大ベテラン
会議室デビュー日: 2005/07/30
投稿数: 102
投稿日時: 2005-08-04 10:56
セルのクリックに関しては、以下が参考になると思います。

Windows フォーム DataGrid コントロールのクリックに対する応答
ゆき
大ベテラン
会議室デビュー日: 2003/11/02
投稿数: 121
投稿日時: 2005-08-04 12:20
ありがとうございます。
これで何とかなりそうです。
ASP.NETでしかDataGridを使ったことがなかったので、
混乱してしまいました。
ゆき
大ベテラン
会議室デビュー日: 2003/11/02
投稿数: 121
投稿日時: 2005-08-04 13:04
度々で申し訳ないのですが・・・。
CurrentCellChangedやHitTestで、カレントの情報を知ることができるようになりました。
これもまた、初歩的な質問なのですが。
特定の列を編集可・不可にすることはできるのですが、
特定の行の特定の列(行によってその列が異なる)の編集を、
可・不可にすることができなくて困っています。
どなたかご存知の方がおりましたら、
ご教授お願いします。
trapemiya
大ベテラン
会議室デビュー日: 2005/07/30
投稿数: 102
投稿日時: 2005-08-05 00:47
引用:

特定の列を編集可・不可にすることはできるのですが、
特定の行の特定の列(行によってその列が異なる)の編集を、
可・不可にすることができなくて困っています。



DataGridTextBoxColumnを継承したクラスを作り、その中でEditをオーバーライドします。Editの中で、base.Editを実行しなければTextBoxが表示されません。すなわち編集状態になりません。
この事実がわかれば、後は条件によってbase.Editを実行するかしないかになります。
Editのオーバーライドについては、以下が参考になるでしょう。
DataGridにLinkLabelを表示する
ゆき
大ベテラン
会議室デビュー日: 2003/11/02
投稿数: 121
投稿日時: 2005-08-05 09:36
ありがとうございます。
DataGridTextBoxColumnを継承して、
自分自身の位置を確認するようにしたら、できました。
助かりました。
1

スキルアップ/キャリアアップ(JOB@IT)