簡體   English   中英

如何在同一行的datagridview中插入2個不同的數組字符串

[英]How to insert 2 diffrent array strings in datagridview on the same row

我有一個帶有richtextbox的win表單,該表單在我給某些命令(如AT + DSCA和AT + RSSI)后從串行COM端口讀取,這兩個命令被一次又一次執行,接收到的字符串如下:at + dscan字符串就像: ZC * | 0001950000008F8B | 0000 | PTv1.11 | ZE20S | ProBee-ZE ,我有以下vb.net代碼來拆分此字符串並將其插入到datagridview中:前兩個值。

Private Sub SalveazaData()
    Dim Rows As String() = rtbComData.Text.Split(Environment.NewLine.ToCharArray())
    For Each Row As String In Rows
        If Not (Row = "AT+DSCAN" Or Row = "OK" Or Row = "") Then
            Dim sAry As String() = Split(Row, "|")
            Dim aRow As smdDataDataSet1.smdTableRow = SmdDataDataSet1.smdTable.NewsmdTableRow()
            aRow.Model = sAry(0)
            aRow.AdresaUnica = sAry(1)
            aRow.StatusModul = "ACTIVE"
            Try
                SmdDataDataSet1.SearchAdrese.Rows.Add(sAry(1))
                SmdDataDataSet1.smdTable.Rows.Add(aRow)
            Catch ex As Exception
                Dim u As String
                u = SmdTableTableAdapter.UpdateInactivActiv()
            End Try
        End If

    Next

對於第二條命令,AT + RSSI的字符串類似於: 發件人:0000,父項:FFFF,RSSI:0,LQI:255無法將值255插入與前一個字符串相同的行! 我只想在與上述字符串相同的行上插入值“ 255”

我了解您的要求,要解析來自COM端口的值並使用這些值顯示在datagridview中。 //找出哪個索引具有較長的長字符串值

//“ ProBee-ZE發件人:0000,父級:FFFF,RSSI:0,LQI:255發件人:0000,”

//例如,我們有sAry(3)。

 Dim tAry As String() = Split(sAry(3), ",")

//您將在tAry(3)中獲得LQI:255,並執行相同的過程以獲取255

 Dim uAry As String() = Split(tAry(3), ":")

//您將獲得值為255的uAry(1)//您需要將此代碼放入for循環中。

 For Each Row As String In Rows
    If Not (Row = "AT+DSCAN" Or Row = "OK" Or Row = "") Then

        Dim sAry As String() = Split(Row, "|")
        Dim aRow As smdDataDataSet1.smdTableRow = SmdDataDataSet1.smdTable.NewsmdTableRow()
        aRow.Model = sAry(0)
        aRow.AdresaUnica = sAry(1)
        aRow.StatusModul = "ACTIVE"
        aRow.thecolumnwhichuwant = uAry(1)


        Try
            SmdDataDataSet1.SearchAdrese.Rows.Add(sAry(1))
            SmdDataDataSet1.smdTable.Rows.Add(aRow)
        Catch ex As Exception
            Dim u As String
            u = SmdTableTableAdapter.UpdateInactivActiv()
        End Try
    End If

Next

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM