- 題名: 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
解決方法を教えてください。ありがとうございます。