2012-12-18 26 views
2

我在列表视图上使用双击事件,将三列添加到datagridview。我不确定如何在“selectedText”变量上设置“Tag”属性。如何设置DataGridView行标记

Private Sub lwArticles_DoubleClick(sender As Object, e As System.EventArgs) Handles lwArticles.DoubleClick 
    Dim selectedText = lwArticles.SelectedItems(0).SubItems.Item(0).Text 'Article No 
    Dim selectedDesc = lwArticles.SelectedItems(0).SubItems.Item(1).Text 'Description 
    Dim currRowNo As String = "" 
    Dim alreadyExists = False 

    For i As Integer = 0 To dgvDetail.Rows.Count - 1 
     currRowNo = dgvDetail.Rows(i).Cells(0).Value 
     If currRowNo = selectedText Then 
      alreadyExists = True 
      dgvDetail.Rows(i).Cells(2).Value += 1 
      Exit For 
     End If 
    Next 

    'If the entry doesn't exist, add it 
    If Not alreadyExists Then 
     dgvDetail.Rows.Add(New String() {selectedText, selectedDesc, 1}) 
    End If 

End Sub 

通过该行的标签这我循环后看文章编号。它将在我的dgvDetail.Rows.Add()附近,我应该设置Tag属性等于selectedText ...任何人都知道如何做到这一点?

编辑: 正在填充的datagridview列是:“商品编号”,“描述”和“数量”。数量设置在循环中,基本上,如果我已经双击同一个事物两次,它会将第三列(Cell(2))加1。

回答

4

的添加“功能”为DataGridView控件返回该行的网格中的索引,所以你可以尝试使用引用该行:

Dim rowIndex As Integer 
rowIndex = dgvDetail.Rows.Add(New String() {selectedText, selectedDesc, 1}) 
dgvDetails.Rows(rowIndex).Tag = selectedText 
+0

运行完美!谢谢! – Alex