DataGridViewで列単位で、入力可、不可を設定する。
dgvMemberIchiranは、DataGridViewのプロパティ名である。
'自動的に列が追加されるのを無効とする。
dgvMemberIchiran.AutoGenerateColumns = False
'列設定(削除)
Dim dgvCbxColumns As New DataGridViewCheckBoxColumn()
dgvCbxColumns.DataPropertyName = "dgvColDelUpdate"
dgvCbxColumns.Name = "dgvColDelUpdate"
dgvCbxColumns.HeaderText = "削除"
dgvCbxColumns.ReadOnly = False
dgvMemberIchiran.Columns.Add(dgvCbxColumns)
'列追加(性以降)
Dim lConTitle As String() = New String() {"性", "名", "カナ姓", "カナ名", "会員番号", "会員区分", "郵便番号", "住所", "メールアドレス", "電話番号", "会費"}
For lIdx = 0 To 10
Dim dgvTxtColumns As New DataGridViewTextBoxColumn()
dgvTxtColumns.DataPropertyName = String.Format("Column{0}", lIdx)
dgvTxtColumns.Name = String.Format("Column{0}", lIdx)
dgvTxtColumns.HeaderText = lConTitle(lIdx)
dgvTxtColumns.ReadOnly = True
'Addの代わりにdgvMemberIchiran.Columns.Insert(lidx, dgvTxtColumns)でもよい
dgvMemberIchiran.Columns.Add(dgvTxtColumns)
Next
'SQL実行
pObjSQL = SQLExecute(lstrSQL)
lIdx = 0
Do While pObjSQL.Read
dgvMemberIchiran.Rows.Add() '行追加
dgvMemberIchiran.Rows(lIdx).Cells(1).Value = pObjSQL("性")
lIdx = lIdx + 1
Loop
DataGridViewは、データソース単位では、カラム単位での入力可、不可設定出来ない。
これを行うためには、DataGridViewのReadOnlyプロパティをTrueに設定し、カラム単位でReadOnlyプロバディを
制御するようにする。
'自動的に列が追加されるのを無効とする。
dgvMemberIchiran.AutoGenerateColumns = False
'列設定(削除)
Dim dgvCbxColumns As New DataGridViewCheckBoxColumn()
dgvCbxColumns.DataPropertyName = "dgvColDelUpdate"
dgvCbxColumns.Name = "dgvColDelUpdate"
dgvCbxColumns.HeaderText = "削除"
dgvCbxColumns.ReadOnly = False
dgvMemberIchiran.Columns.Add(dgvCbxColumns)
'列追加(性以降)
Dim lConTitle As String() = New String() {"性", "名", "カナ姓", "カナ名", "会員番号", "会員区分", "郵便番号", "住所", "メールアドレス", "電話番号", "会費"}
For lIdx = 0 To 10
Dim dgvTxtColumns As New DataGridViewTextBoxColumn()
dgvTxtColumns.DataPropertyName = String.Format("Column{0}", lIdx)
dgvTxtColumns.Name = String.Format("Column{0}", lIdx)
dgvTxtColumns.HeaderText = lConTitle(lIdx)
dgvTxtColumns.ReadOnly = True
'Addの代わりにdgvMemberIchiran.Columns.Insert(lidx, dgvTxtColumns)でもよい
dgvMemberIchiran.Columns.Add(dgvTxtColumns)
Next
'SQL実行
pObjSQL = SQLExecute(lstrSQL)
lIdx = 0
Do While pObjSQL.Read
dgvMemberIchiran.Rows.Add() '行追加
dgvMemberIchiran.Rows(lIdx).Cells(1).Value = pObjSQL("性")
lIdx = lIdx + 1
Loop
DataGridViewは、データソース単位では、カラム単位での入力可、不可設定出来ない。
これを行うためには、DataGridViewのReadOnlyプロパティをTrueに設定し、カラム単位でReadOnlyプロバディを
制御するようにする。
スポンサーサイト