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

DataGridViewにRadioButtonを追加したい

環境/言語:[VS2010 VB.NET WindowsForms]
分類:[.NET]

こんにちは。

Windowsフォームでアプリケーションを開発中の初心者です。

DataGridViewのカラムにラジオボタンを追加したいと考えております。
以下のサイトを参考に作成しようと試みているのですが
どうにもうまくいきません。
http://msdn.microsoft.com/ja-jp/library/7tas5c80(VS.80).aspx


DataGridViewにラジオボタンのカラムを追加することは可能なのでしょうか。



ご教授お願い致します。
DataGridViewにはラジオボタンのカラム・セルがありませんので、DataGridViewCellやDataGridViewColumnを継承したラジオボタン用カラム・セルを自作するしかないと思います。

「DataGridView ラジオボタン」で検索すると結構ヒットしますが、セルを描画したり、少々面倒ではあります。

http://playtoto.blog55.fc2.com/blog-entry-182.html

また、ラジオボタンにするということは、あるセルをクリックしてラジオボタンをONにすると
それに関連するラジオボタン(行方向か列方向かわかりませんが)がOFFになるような仕組みも考慮しなくてはなりませんね。
返信ありがとうございます。

サイトを参考に作成したところ、
ラジオボタンの仕組みはまだ考慮しておりませんが、表示することができました。


十分に理解できていないところもあるのですが、
これを参考に実装してみたいと思います。


質問を重ねるようで申し訳ないのですが、
同じ方法でカスタムコントロールをDataGridView内に表示可能でしょうか。



大変申し訳ありませんが、宜しくお願い致します。
> 同じ方法でカスタムコントロールをDataGridView内に表示可能でしょうか。

ここでいうカスタムコントロールとはどのようなものですか?
標準コントロールを継承したものですか?
それとも、いわゆるユーザーコントロールのことでしょうか?

単なる描画だけなら可能でしょうが、そのコントロールが持つUI機能をすべてDataGridView内に表示できるかどうかは、そのコントロール次第です。
すみません、説明不足でした。

> ここでいうカスタムコントロールとはどのようなものですか?
> 標準コントロールを継承したものですか?
> それとも、いわゆるユーザーコントロールのことでしょうか?

カスタムコントロールは標準のコントロールを継承したものになります。

CheckBoxを継承したToggleButtonと
RadioButtonを継承したコントロールを表示させ、
CheckedChangedイベントで処理を行いたいのです。


DataGridView内のボタンクリックのように処理を行いたいと考えております。


申し訳ありませんが、宜しくお願い致します。
■No31321に返信(2月ねこさんの記事)
> カスタムコントロールは標準のコントロールを継承したものになります。
> CheckBoxを継承したToggleButtonと
> RadioButtonを継承したコントロールを表示させ、
> CheckedChangedイベントで処理を行いたいのです。

編集コントロールとするために、IDataGridViewEditingControl を
実装しておきます。各メソッドの実装も必要です。

編集中は、そのカスタムコントロールを「編集コントロール」として扱います。
編集されていない時には、そのカスタムコントロールで表示される内容に
相当するデータを、セル上に描画処理するなどして対応してみてください。

[DataGridViewにMaskedTextBoxを表示する]
http://dobon.net/vb/dotnet/datagridview/maskedtextboxcolumn.html

[方法 : Windows フォーム DataGridView Cells でコントロールをホストする]
http://msdn.microsoft.com/ja-jp/library/7tas5c80%28VS.80%29.aspx
■No31322に返信(魔界の仮面弁士さんの記事)

> 編集コントロールとするために、IDataGridViewEditingControl を
> 実装しておきます。各メソッドの実装も必要です。
>
> 編集中は、そのカスタムコントロールを「編集コントロール」として扱います。
> 編集されていない時には、そのカスタムコントロールで表示される内容に
> 相当するデータを、セル上に描画処理するなどして対応してみてください。


魔界の仮面弁士さん、返信ありがとうございます。
IDataGridViewEditingControl を実装してとりあえずは
編集モードでラジオボタンが表示されました。
・・まだうまくは動きませんが。。


教えていただいたURLを参考にもう少し粘ってみたいとおもいます。
ひとまず解決済みとさせていただきます。



つじ様、魔界の仮面弁士様、本当にありがとうございました。
解決済み!

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