Получить результат в следующей строке в DataGridView - PullRequest
2 голосов
/ 21 июля 2011

У меня есть одна строка в DataGridView, которая показывает разные результаты для выбранных Oids. Проблема в том, что следующий результат заменяет первый в той же строке. Есть ли способ получить следующий результат в следующих строках так, чтобыDataGridview также может показывать предыдущие результаты. Моя сетка данных не связана ни с одним источником данных.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


    Dim host As String
    Dim community As String
    host = DataGridView1.Rows(0).Cells(1).Value.ToString
    community = DataGridView1.Rows(3).Cells(1).Value.ToString
    Dim txt4B As New DataGridViewTextBoxCell()
    txt4B.Value = "public"



    Dim result As Dictionary(Of Oid, AsnType)

    Dim requestOid() As String = Nothing

    Dim snmp As New SimpleSnmp
    snmp = New SimpleSnmp(DataGridView1.Rows(0).Cells(1).Value.ToString, DataGridView1.Rows(3).Cells(1).Value.ToString)

    result = snmp.Get(SnmpVersion.Ver1, New String() {DataGridView1.Rows(1).Cells(1).Value.ToString()})


    If Not snmp.Valid Then

        MessageBox.Show("Invalid hostname/community")

    End If

    If result IsNot Nothing Then
        For Each kvp In result
            DataGridView2.Rows(0).Cells(0).Value = SnmpConstants.GetTypeName(kvp.Value.Type)
            DataGridView2.Rows(0).Cells(1).Value = kvp.Key.ToString
            DataGridView2.Rows(0).Cells(2).Value = kvp.Value.ToString()


        Next kvp
    Else
        MessageBox.Show("No results received")
    End If

    DataGridView2.AutoResizeColumn(0)
    DataGridView2.AutoResizeColumn(1)
    DataGridView2.AutoResizeColumn(2)


End Sub

1 Ответ

0 голосов
/ 21 июля 2011

Заменить ...

        DataGridView2.Rows(0).Cells(0).Value = SnmpConstants.GetTypeName(kvp.Value.Type)
        DataGridView2.Rows(0).Cells(1).Value = kvp.Key.ToString
        DataGridView2.Rows(0).Cells(2).Value = kvp.Value.ToString() 

Чем-то вроде этого ...

    Dim NewRow As New DataGridViewRow

    Dim Cell1 As DataGridViewCell

    Cell1.Value = SnmpConstants.GetTypeName(kvp.Value.Type)

    Dim Cell2 As DataGridViewCell

    Cell2.Value = kvp.Key.ToString()

    Dim Cell3 As DataGridViewCell

    Cell3.Value = kvp.Value.ToString()

    NewRow.Cells.Add(Cell1)
    NewRow.Cells.Add(Cell2)
    NewRow.Cells.Add(Cell3)

    DataGridView2.Rows.Add(NewRow)

Это создаст новую строку с этими значениями вместо перезаписи существующих значений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...