数据网格视图中出现空行

时间:2015-04-21 11:06:23

标签: vb.net

当我在第一行添加数据时,我的代码下面会出现空行,为什么会出现这些行?我只需要在一行中添加数据并保存它。

    Dim pringdata As String = "SELECT * FROM itemInfo  "

    Dim sqlconload As New SqlConnection(sqlcon)

    Try
        sqlconload.Open()

        Dim da As New SqlDataAdapter(pringdata, sqlconload)
        ds.Clear()
        da.Fill(ds, "itemInfo")

        Dim rowcount As Integer
        rowcount = ds.Tables("itemInfo").Rows.Count
        If rowcount >= 1 Then

            DGVorders.Rows.Add(rowcount)
            For i = 0 To rowcount - 1
                If DGVorders.CurrentRow.Cells(0).Value = ds.Tables("itemInfo").Rows(i).Item("itemCode") Then
                    DGVorders(1, e.RowIndex).Value = ds.Tables("itemInfo").Rows(i).Item("itemName")
                    DGVorders(2, e.RowIndex).Value = ds.Tables("itemInfo").Rows(i).Item("Uint1")
                    DGVorders(4, e.RowIndex).Value = ds.Tables("itemInfo").Rows(i).Item("price1")

                End If
            Next
        End If

        sqlconload.Close()
    Catch ex As Exception

    End Try

End Sub

2 个答案:

答案 0 :(得分:0)

修改" AllowUsersToAddRows"删除该空行的属性。 例如:

DataGridView1.AllowUserToAddRows = False

答案 1 :(得分:0)

DGVorders.Rows.Add(rowcount)会向DataGridView添加rowcount个空行。我不知道你为什么这样做,这并不像你在for循环的那些新行中为单元格添加值。

更新

If dataGridView1.CurrentRow.Cells(0).Value = ds.Tables("itemInfo").Rows(i)("itemCode") Then
Dim newRow As DataGridViewRow = TryCast(dataGridView1.CurrentRow.Clone(), DataGridViewRow)
newRow.Cells(1).Value = ds.Tables("itemInfo").Rows(i)("itemName")
newRow.Cells(2).Value = ds.Tables("itemInfo").Rows(i)("Uint1")
newRow.Cells(3).Value = ds.Tables("itemInfo").Rows(i)("price1")
dataGridView1.Rows.Add(newRow)

结束如果