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プロバディを
制御するようにする。




スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

e.swan

Author:e.swan
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR