- - PR -
独自で作成したDataGridColumnStyleをデザイナから追加できるようにするには?
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-05-01 16:33
お世話になります。yokotaと申します。
現在、DataGridを拡張したコントロールを作成しており、その中で独自で作成した複数のDataGridColumnStyleをデザイナから追加できるようにしたいのですが、その方法を見つけることができません。 実現したいことを端的に申し上げると、 「『DataGridColumnStyle コレクション エディタ』に独自のDataGridColumnStyleを追加できるようにしたい。」 もしくは 「独自のコレクションを作成し、コレクションエディタで複数の種類のオブジェクトを追加できるようにしたい。」 ということなのですが・・・。 コレクションエディタについては宇宙仮面さんのコレクションエディタに関する記事(参照元URL)を参考にさせて頂いたのですが、これを拡張して複数の型をコレクションエディタにて指定できるように・・・というところで詰まってしまいました。 もし詳しい方がおりましたらご教示お願いいたします。 開発環境:Visual C#.NET - .NET Framework 1.1 | ||||
|
投稿日時: 2006-05-01 17:18
System.Drawing.Design.UITypeEditorを継承してコレクションエディタを自作すれば可能かと思います。
System.Drawing.Design.UITypeEditorクラスのEditValueメソッドをオーバーライドしてそこから、自作したUIをShowDialogする感じです。 拡張したDataGridの該当するプロパティには下記のような属性を付加します。 [Editor(typeof(EditorType), typeof(BaseEditorType))] EditorTypeには自作したコレクションエディタの型を指定します。 | ||||
|
投稿日時: 2006-05-01 21:20
burton999さん、ありがとうございます。
なるほど、コレクションエディタの自作ですか。 恥ずかしながらUITypeEditorクラスに関する知識に乏しいので、これを参考に試してみようと思います。 まずは取り急ぎお礼まで。 | ||||
|
投稿日時: 2006-05-02 21:11
以下のサンプルが参考にできると思います。
Extending the DataGrid using CodeDom http://www.microsoft.com/belux/msdn/nl/community/columns/jtielens/datagrid.mspx ここでの例では、DataGridTableStyleとDataGridを継承で拡張しています。 ではでは | ||||
|
投稿日時: 2006-05-02 22:16
dotnetmemoさん、ありがとうございました。
提示されたサンプルがそのものズバリでした。
このような感じにCollectionEditorクラスを継承して、CreateNewItemTypeメソッドをオーバーライドしたら思ったとおりの動作をしました。 burton999さん、dotnetmemoさんありがとうございました。 |
1