- - PR -
DataGridViewのヘッダーにチェックボックス
1|2|3
次のページへ»
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2009-02-23 17:54
お世話になります。
DataGridViewのヘッダーにチェックボックスを置きたいのですが可能でしょうか? 可能であればやり方を教えてください | ||||||||
|
投稿日時: 2009-02-24 12:59
可能です。
詳しいやり方は、MSDNにサンプルコード付きで解説されていますので そちらを参考にしてください。 その上で、判らない点は再度質問すると良いでしょう。 【MSDN-DataGridView 列ヘッダー セルのドロップダウン フィルタ一覧を作成する 】 http://msdn.microsoft.com/ja-jp/library/aa480727.aspx ドロップダウンを持つヘッダ+DataGridViewのフィルタリングを行うサンプルですが カスタム列ヘッダの作り方は理解出来ると思います。 | ||||||||
|
投稿日時: 2009-02-24 18:16
ご教授ありがとうございます。 教えて頂いたページを参照して勉強します。 また何かありましたらよろしくお願いします | ||||||||
|
投稿日時: 2009-02-26 17:49
一日睨めっこしてサンプルを真似ながら少しずつコードを書いてみました。 が、とても道は遠そうです(泣) 聞くことが多過ぎて何から聞いたら良いのか分かりませんが少しずつ教えて頂けたらと思います。 最初の質問ですが、MSDNで追加しているDataGridViewAutoFilterTextBoxColumn をColumnType に追加するために必要なコードは何でしょうか? (コンストラクタ?、プロパティ?、メソッド?) 自分で Public Class DataGridViewColumnHeaderChechboxClass Inherits DataGridViewColumnHeaderCell として新しいクラスを作成したものの、ColumnType には出てきません。 よろしくお願いします | ||||||||
|
投稿日時: 2009-02-26 18:51
カスタムヘッダを使用するにはカスタム列クラスを作成し
カスタム列クラスが使用するヘッダとして、カスタムヘッダを指定する事になります。 まずは、カスタム列クラス(DataGridViewColumn派生クラス)を作成してください。 サンプル中にもDataGridViewAutoFilterTextBoxColumnというDataGridViewColumnを 継承したカスタム列クラスがあります。 ※そこからDataGridViewAutoFilterColumnHeaderCellクラスを使用(厳密には型情報を設定)しています。 その列の実際のセルタイプが標準のセルで構わないのであれば DataGridViewColumnから直接派生するのではなく DataGridViewColumnから派生した標準の列クラスから派生しても構いません。 (DataGridViewTextBoxColumn等からの派生でも構いません) DataGridViewのカスタムは面倒なので、構造?仕組み?を理解するのは大変でしょうが、 不明な点等ありましたら、答えられる限りお答えしますので、がんばってください。 | ||||||||
|
投稿日時: 2009-02-26 23:42
ご教授ありがとうございます。
また行き詰ったら質問させて頂きますのでよろしくお願いします。 | ||||||||
|
投稿日時: 2009-02-27 11:59
ここまで作りました。
後は 1.ヘッダ部分にチェックボックスを表示する(デザイナー) 2.ヘッダのチェックボックスに値を設定する(プログラム&デザイナー) 3.ヘッダのチェックボックスのON/OFFのイベントを拾う(プログラム) をやりたいです。 まずは、1番からやりたいのですがどこに何を書けば良いのでしょうか? ※教えて頂いたURL以外に参考になるところがあれば教えて下さい。 それと上記のコードを組み込んで実行してみたのですが、コンストラクタはNew()しか実行されません。 何が問題なのでしょうか? | ||||||||
|
投稿日時: 2009-02-27 12:29
2.3の項を見て、考えているイメージが違うと思いましたので、ご指摘致します。
チェックボックスコントロールと同じ機能を実装するのであって チェックボックスコントロールの追加ではありません。 1.については、OverrideしているPaintにチェックボックスを描画するコード記述 System.Windows.Forms.CheckBoxRendererのDrawCheckBoxを使用すると楽です。 2.3.については、OnClick等をオーバーライドしてチェックボックスと同じ動き実装 って事になります。 |
1|2|3
次のページへ»