- 題名: DatagridViewComboboxCellを追加
- 日時: 2009/12/24 14:24:18
- ID: 26136
- この記事の返信元:
- (なし)
- この記事への返信:
- [26141] Re[1]: DatagridViewComboboxCellを追加2009/12/24 21:06:30
- ツリーを表示
■No26136に返信(VBnewerさんの記事) > "指定されたセルはグリッドにすでに属しています"。 DataGridViewComboBoxCell のインスタンスは Cell 間で共有できないです よーという意味ではないかしら。 Cell ごとに DataGridViewComboBoxCell のインスタンスを作成するようにし てみてはいかがでしょうか。 Public Class Form1 Private Sub Form1_Load( ... ... Select Case _readFile.ID Case "A" Dtgrdview.Rows(t).Cells(4) = CreateComboBoxCellA() Case Else Dtgrdview.Rows(t).Cells(4) = CreateComboBoxCellElse() End Select ... End Sub Function CreateComboBoxCellA() As DataGridViewComboBoxCell Dim comboBoxCellA As New DataGridViewComboBoxCell() For i As Integer = 0 To 10 comboBoxCellA.Items.Add(CStr(i)) Next Return comboBoxCellA End Function Function CreateComboBoxCellElse() As DataGridViewComboBoxCell Dim comboBoxCellElse As New DataGridViewComboBoxCell() For i As Integer = 0 To 10 comboBoxCellElse.Items.Add(CStr(i + 1)) Next Return comboBoxCellElse End Function End Class
分類:[.NET]
2009/12/24(Thu) 14:42:49 編集(投稿者)
2009/12/24(Thu) 14:42:22 編集(投稿者)
DatagridviewComboboxCellについて聞きたいですが、
各セルのコンボボックスに違い値を入れたいけど、以下のエラーが出ました。
"指定されたセルはグリッドにすでに属しています"。
ソース例:
Dim Reader As FileReader = New FileReader("C://text.txt")
Dim cbb as New DatagridviewComboboxCell()
Dim cbb1 as New DatagridviewComboboxCell()
Dim strA as String = ""
Dim t as integer = 0
Me.Controls.Add(Dtgrdview)
Dtgrdview.ColumnCount = 5
.
(省略)
For i as Integer = 0 to 10
Select case strA
Case "A"
cbb.Items.Add(Cstr(i))
Case "B"
cbb1.Items.Add(Cstr(i+1))
End Select
Next
With Dtgrdview.Rows
While not Reader.EndofData
Dim _readFile As readFile = New readFile(Reader.ReadFields())
'(readFile.vbは別)
Dim row As String() = _ {_readFile.Class,_readFile.Name,_readFile.Year,_readFile.Add}
'
Dtgrdview.Rows.Add(row)
Select Case _readFile.ID
Case "A"
Dtgrdview.Rows(t).Cells(4) = cbb ==> t= 1 エラーが出る
Case Else
Dtgrdview.Rows(t).Cells(4) = cbb1
End Select
t += 1
End While
ReadFile.Close()
End With
解決方法を教えてください。ありがとうございます。