当我单击一个按钮并将特定值发送到新添加的行时,我尝试制作一个简单的程序,在我的datagridview中添加新行。这是代码
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button2.Click
Dim baris As Integer
baris = 0
perintah.Connection = koneksi
perintah.CommandType = CommandType.Text
perintah.CommandText = "select * from film where kode_film ='" & TextBox11.Text & "'"
dr = perintah.ExecuteReader()
If dr.HasRows = True Then
dr.Read()
DataGridView1.Rows.Add()
DataGridView1.Rows(baris).Cells(0).Value = dr("kode_film")
DataGridView1.Rows(baris).Cells(1).Value = dr("nama_film")
DataGridView1.Rows(baris).Cells(2).Value = dr("stok")
dr.Close()
End If
dr.Close()
End Sub
问题是,每次单击该按钮时,它都会在datagridview中创建一个新行,但该值保留在第一行,而不是插入到新添加的值中。
谷歌搜索过很多次但是没有找到答案。伙计们,需要你的手。 对不起我的英语不好。
答案 0 :(得分:1)
您并未在任何地方更改baris
的值,因此您始终会在索引0处获取该行。Add
方法返回新行的索引,因此请使用该行。更好的是,使用将单元格值作为参数的Add
重载,因此您可以在一行代码中创建并填充该行。
答案 1 :(得分:0)
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button2.Click
Dim baris As Integer
baris = 0
perintah.Connection = koneksi
perintah.CommandType = CommandType.Text
perintah.CommandText = "select * from film where kode_film ='" & TextBox11.Text & "'"
dr = perintah.ExecuteReader()
If dr.HasRows = True Then
dr.Read()
DataGridView1.Rows.Add()
DataGridView1.Rows(baris).Cells(0).Value = dr("kode_film")
DataGridView1.Rows(baris).Cells(1).Value = dr("nama_film")
DataGridView1.Rows(baris).Cells(2).Value = dr("stok")
dr.Close()
baris = baris + 1
End If
dr.Close()
End Sub
改变了baris的值,但是值仍然在第一行,它取代了我之前插入的值。