新记录在vb.net中添加第一行datagrid视图

时间:2013-08-03 08:15:42

标签: vb.net

在我的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

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

2 个答案:

答案 0 :(得分:0)

您可以使用Insert代替Add来指定新行的位置。所以总是插入零位:

DGVDeliverd.Rows.Insert(0, row1)

有关详情,请参阅MSDN here(截图如下)。

MSDN

答案 1 :(得分:0)

使用:

  

按主要ID desc排序

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

更新#1

DGVDeliverd.Controls[0].Controls.AddAt(0, row1);