tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルDataGridViewの複数列にあるComboBoxにアイテム追加
記事No11337
投稿日: 2014/10/28(Tue) 14:59
投稿者Macky
30列あるDataGridViewで 11〜30列は DataGridViewComboBoxColumn にしてあり、
11〜20列のComboBoxには"A"と"B"の選択肢を入れ、 
21〜30列のComboBoxには"C"と"D"の選択肢をコードで入れたいです。

Column10.Items.Add("A")
Column10.Items.Add("B")
Column11.Items.Add("A")
Column11.Items.Add("B")
:
:
Column29.Items.Add("C")
Column29.Items.Add("D")
と全て書いて目的は果たせていますが、まとめてループして書ける方法を探しています。


For i = 10 To 19
  CType(Me.Controls("Column" & i), ComboBox).Items.Add("A")
Next
とかくと、「オブジェクト参照がオブジェクトインスタンスに設定されていません」とエラーが出ます。

For i = 10 To 19
  Dim c As Control = Me.Controls("DataGridView1.Column" & i)
  If c IsNot Nothing Then
     CType(c, ComboBox).Items.Add("A")
  End If
Next
とかくと、全てNothingで追加できません。

DataGridView内ComboBoxへの参照・選択肢追加をまとめて行う方法をご教授下さい。
宜しくお願い致します。

[ツリー表示へ]
タイトルRe: DataGridViewの複数列にあるComboBoxにアイテム追加
記事No11338
投稿日: 2014/10/28(Tue) 15:17
投稿者Hongliang
DataGridViewColumnは、Form1.Controlsからではなく、DataGridView1.Columnsから探してください。

[ツリー表示へ]
タイトルRe^2: DataGridViewの複数列にあるComboBoxにアイテム追加
記事No11339
投稿日: 2014/10/28(Tue) 15:50
投稿者Macky
Hongliang様

> DataGridViewColumnは、Form1.Controlsからではなく、DataGridView1.Columnsから探してください。

CType(DataGridView1.Columns(i), ComboBox).Items.Add("ON")
→...ComboBoxに変換できません

DataGridView1.Columns(i).Items.Add("A")
→Itemsは...メンバではありません

という感じです。

DataGridView1.Columnsから探すコード教えて下さい。
宜しくお願い致します。

[ツリー表示へ]
タイトルRe^3: DataGridViewの複数列にあるComboBoxにアイテム追加
記事No11340
投稿日: 2014/10/28(Tue) 17:30
投稿者Macky
なかなか見つかりませんでしたが、WEB検索を更にがんばったら見つかりました。

For i = 10 To 19
  Dim ComboBoxColumn As DataGridViewComboBoxColumn = DataGridView1.Columns(i)
  ComboBoxColumn.Items.Add("A")
  ComboBoxColumn.Items.Add("B")
Next

これで簡潔にまとめられそうです。
ありがとうございました。

[ツリー表示へ]