DOBON.NET DOBON.NETプログラミング掲示板過去ログ

datagridviewの「列の編集」ダイアログで

環境/言語:[win7、C#4.0(VisualStudio 2010 Pro)]
分類:[.NET]

いつも参考にしています。

早速ですが、カスタム列クラス(DataGridViewColumnクラス継承)を作成し、
独自の列を作成しました。

DataGridViewの「列の編集」ダイアログボックスのColumnTypeで当たり前といえば当たり前ですが、今回作成したカスタム列以外にもDataGridViewTextBoxColumnなどが選択できます。

カスタムのDataGridViewを作成して、カスタム列だけを表示することは可能でしょうか?

いろいろ調べて、DataGridViewColumnDesignTimeVisibleAttributeというのがあやしいかもしれないというところまでいったのですが、参考になるようなページがなく質問させていただきます。
■No30453に返信(latinさんの記事)

DataGridViewの派生クラス上にカスタムクラス(の共通の親クラス。このクラスはDataGridViewColumnの派生にしておくと良いかも)を格納するコレクションを
作ると出来るのではないでしょうか?実装内容は結構大変なものになるかもしれません。
shu さん

ありがとうございます。
> 実装内容は結構大変なものになるかもしれません。

大変だということがわかっただけでも収穫です。

その後、いろいろ調べてみたのですが、
1.プロパティダイアログにて利用する型をタイプコンバータで置き換える
2.DataGridViewColumnの派生クラスにタイプコンバータを設定する
3.GetStandardValuesで表示する型を設定する

というところまではいった(あっているのかは疑問?)のですが、
タイプコンバータは、構造体のプロパティで使用した経験はあるのですが、
今回のテーマは私の理解の範囲を大きく超えるようです。

いったん、このテーマについては保留とします。
いつかリベンジしたときに、再度、投稿するようにします。

DOBON.NET | プログラミング道 | プログラミング掲示板