データグリッドのチェックボックスの制御
- 題名: データグリッドのチェックボックスの制御
- 著者: choco
- 日時: 2006/02/28 11:36:25
- ID: 15289
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: データグリッドのチェックボックスの制御
- 著者: なおこ(・∀・)
- 日時: 2006/02/28 20:45:33
- ID: 15301
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: データグリッドのチェックボックスの制御
- 著者: るしぇ
- 日時: 2006/03/01 9:59:06
- ID: 15308
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
初めて書き込みをします。
現在VB.NETでWindowsアプリを作っています。
データグリッド上にチェックボックスとテキストの項目があって、
各行のテキストの値を見て、チェック可・不可の制御をしたいのですが、
うまくできません。
私なりに調べて、各項目のReadOnlyでできるのかなと思ったのですが、
ReadOnly = true にしても、チェックができる状態です。
どのように記述したら、うまく制御できるでしょうか?
ご教授お願いいたします。
現在まで作成したコード
-----------------------------------------
(1)グリッドの初期設定
Dim dts As New DataGridTableStyle
dts.MappingName = "DataTable1"
dts.AllowSorting = False
dts.RowHeadersVisible = False
Dim textCol As New DataGridTextBoxColumn
textCol.MappingName = "TEXT"
textCol.HeaderText = "テキスト"
textCol.ReadOnly() = True
dts.GridColumnStyles.Add(textCol)
Dim checkCol As New DataGridBoolColumn
checkCol.MappingName = "CHECK"
checkCol.HeaderText = "チェック"
checkCol.Alignment = HorizontalAlignment.Center
checkCol.AllowNull = False
checkCol.ReadOnly() = False
dts.GridColumnStyles.Add(checkCol)
' テーブルスタイルの追加
DataGrid1.TableStyles.Add(dts)
-- -- -- -- -- -- -- -- -- --
(2)データを取得して表示する部分
Dim dt As New DataTable("DataTable1")
dt.Columns.Add("CHECK", GetType(Boolean))
'データベースに接続し、テキストのデータを取得
Try
Dim MyDataAdapter As New OdbcDataAdapter sSqlBuf,myConnection)
MyDataAdapter.Fill(dt)
Dim count As String = dt.Rows.Count()
Dim i As Integer
For i = 0 To count - 1
'テキストの値が1の時は、チェック不可
If Trim(dt.Rows(i).Item(0)) = "1" Then
dt.Rows(i).Table.Columns(1).ReadOnly = True
Else
dt.Rows(i).Table.Columns(1).ReadOnly = False
End If
Next i
Dim dv As DataView
dv = New DataView(dt)
dv.AllowNew = False
DataGrid1.DataSource = dv
Catch ex As Exception
End Try
-----------------------------------------