C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: DataGridViewにチェックボックスを表示する


(過去ログ 13 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■4244 / inTopicNo.1)  DataGridViewにチェックボックスを表示する
  
□投稿者/ ratte (5回)-(2007/06/11(Mon) 15:57:00)

分類:[VB.NET (Windows)] 

VB.NET2005
WindowsXP

いつもお世話になってます.
Windowsアプリを作成中なのですが,DataGridViewにデザイナからではなく
コードからチェックボックスの列を作成することは可能でしょうか?

現在のコードでは以下のようにワークテーブルに列名,
セル値をセットし,それをDataGridViewにセットしています.

=========================================================================

Dim DtTble As DataTable
Dim vDtRow As DataRow

'列名セット
DtTble .Columns.Add("列A")
DtTble .Columns.Add("列B")

'1レコード目作成
vDtRow = DataTable.NewRow

vDtRow.Item(0) = ("aaa")
  vDtRow.Item(1) = ("bbb")

.Rows.Add(vDtRow)

'DataGridViewにデータをセット
DataGridView1.DataSource = DtTable

=========================================================================

例えばここに列Cをつくりチェックボックスを作る場合,どのようにすればよいのでしょうか?
DataGridCheckBoxColumnsというものがあるのはわかったのですが,
DataTableごとセットしているのでどこに書けばいいのか分かりませんでした.
ご存知の方がいらっしゃいましたご教授ください.

宜しくお願いします.


引用返信 編集キー/
■4253 / inTopicNo.2)  Re[1]: DataGridViewにチェックボックスを表示する
□投稿者/ 魔界の仮面弁士 (298回)-(2007/06/11(Mon) 18:22:22)
2007/06/11(Mon) 18:23:03 編集(投稿者)
No4244 (ratte さん) に返信
>   Dim DtTble As DataTable
この状態だと、DtTble は Nothing なので、

>     DtTble .Columns.Add("列A")
>     DtTble .Columns.Add("列B")
のようにしては不味いでしょう。インスタンスを生成しないと。

>     vDtRow  = DataTable.NewRow
DataTable ではなく、DtTble ですよね。

>     vDtRow.Item(0) = ("aaa") 
>   vDtRow.Item(1) = ("bbb") 
右辺のカッコは不要かと。

>     .Rows.Add(vDtRow)
ドットの前に、DtTble が抜けています。(または、With ブロックの不足)

>     'DataGridViewにデータをセット
>      DataGridView1.DataSource = DtTable
DtTable ではなく、DtTble ですね。


> 例えばここに列Cをつくりチェックボックスを作る場合,どのようにすればよいのでしょうか?
連結列にするのであれば、
 DtTble.Columns.Add("列C", GetType(Boolean))
ですし、非連結列にするのであれば、
 DataGridView1.Columns.Add(New DataGridViewCheckBoxColumn())
です。

引用返信 編集キー/
■4255 / inTopicNo.3)  Re[2]: DataGridViewにチェックボックスを表示する
□投稿者/ ダッチ (136回)-(2007/06/11(Mon) 21:02:10)
> Windowsアプリを作成中なのですが,DataGridViewにデザイナからではなく
> コードからチェックボックスの列を作成することは可能でしょうか?
デザイナで必要な設定が出来るのであれば、

フォーム名.Designer.vb ファイルのコードを見るのも参考になると思います。

このファイルにはデザイナで設定した情報が入っています。
引用返信 編集キー/
■4260 / inTopicNo.4)  Re[3]: DataGridViewにチェックボックスを表示する
□投稿者/ ratte (7回)-(2007/06/12(Tue) 09:29:03)
魔界の仮面弁士さん,ダッチさん,返信ありがとうございます.

魔界の仮面弁士さんの非連結の方法でチェックボックスを作ることが出来ました.

別の方法でも出来たので一応そちらも記述しておきます.

======================================================================
Dim vDataTable As New DataTable
Dim grdClmTxt As DataGridViewTextBoxColumn
Dim grdClmChk As DataGridViewCheckBoxColumn

'------------------
'列生成
'------------------
vDataTable.Columns.Add("列A")
vDataTable.Columns.Add("列B")

'--------------------------------
'DataGridView表示設定
'--------------------------------
'データの自動生成を抑える
DataGridView1.AutoGenerateColumns = False

'列定義
grdClmTxt = New DataGridViewTextBoxColumn
grdClmTxt.Name = "列A"
grdClmChk = New DataGridViewCheckBoxColumn
grdClmChk.Name = "列B"

DataGridView1.Columns.Add(grdClmTxt)
DataGridView1.Columns.Add(grdClmChk)

'データ割付け
DataGridView1.Columns("列A").DataPropertyName = "列A"
DataGridView1.Columns("列B").DataPropertyName = "列B"

'データBind
DataGridView1.DataSource = vDataTable

'実データ投入
vDataTable.Rows.Add("進学", True)
vDataTable.Rows.Add("進学", True)
vDataTable.Rows.Add("就職", False)
vDataTable.Rows.Add("進学", True)

=====================================================================

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -