3

我在 listview 上使用双击事件,它将向 datagridview 添加三列。我不确定如何在“selectedText”变量上设置“Tag”属性。

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))增加一。

4

1 回答 1

6

DataGridView 控件的添加“函数”返回网格中行的索引,因此您可以尝试使用它来引用该行:

Dim rowIndex As Integer
rowIndex = dgvDetail.Rows.Add(New String() {selectedText, selectedDesc, 1})
dgvDetails.Rows(rowIndex).Tag = selectedText
于 2012-12-18T22:00:18.263 回答