0

在我的 VB.Net 应用程序中,我正在填充我的数据网格视图,如下所示:

Dim cmdd1 As New SqlCommand("DashBordFetch1", con.connect)  
cmdd1.CommandType = CommandType.StoredProcedure  
cmdd1.Parameters.Add("@locid", SqlDbType.Int).Value = locid
da1.SelectCommand = cmdd1  dr = cmdd1.ExecuteReader 

While dr.Read
    flag = False   
    carid1 = dr("Car_Id")  

    For j = 0 To dcnt1 - 2  
        If carid1 = dgv.Item(0, j).Value Then
            flag = True  
            Exit For    
        End If      
    Next

    If flag = False Then

        If dr("Car_Id") Is DBNull.Value Then
            carid1 = "null"
        Else
            carid1 = dr("Car_Id")
        End If

        If dr("Plate_Source") Is DBNull.Value Then
           platesource1 = "Null"
        Else
           platesource1 = dr("Plate_Source")
        End If

        Dim row1 As String() = {carid1, platesource1}
        DGVDeliverd.Rows.Add(row1)
    End If      
End While

..我也在使用计时器..每 2 分钟计时器将工作。有时新记录将添加到我的 datagridview..同时添加新记录添加到我的 datagrid 视图的最后一行,我想每次添加新的记录到我的第一行datagridview。我怎么能这样做?
我正在使用 Windows 窗体

4

2 回答 2

0

您可以使用Insert而不是Add指定新行的位置。所以总是在零位插入:

DGVDeliverd.Rows.Insert(0, row1)

有关详细信息,请参阅此处的 MSDN(下面的屏幕截图)。

MSDN

于 2013-08-03T10:23:17.130 回答
0

利用:

按您的主要 id desc 排序

将最新数据保留在网格顶部

更新#1

DGVDeliverd.Controls[0].Controls.AddAt(0, row1);
于 2013-08-03T10:31:49.747 回答