我目前正在使用带有SQL后端的vb.net,studio express 2013。我有一个组合框,我使用SQL select语句来调用值成员和显示成员,它们是两个不同的值。现在,我有各种各样的datagrid视图,其中我需要能够将值成员和显示成员添加到按钮单击事件的任何datagridviews。每个DGV都有一个带加号的按钮,我需要点击该按钮将组合框中的信息移动到特定的DGV。每个DGV代表一个不同的站点,信息将被发送到。我附上了一张图片以帮助解决问题。
此行下的所有代码均为最终且正确的代码!
通过设置与sql命令相同的列名来填充组合框,我得到了一半的工作。这是代码:这是在表单加载事件上完成的。
If DGV.Columns.Count = 0 Then
DGV.Columns.Add("SQL ColName", "Columnheadertext")
DGV.Columns.Add("SQLcolumn2name", "SColumn 2 header texxt")
End If
通过在load事件上设置DGV,我现在可以插入到dgv中。 我想让+按钮运行此代码“
Private Sub BtnSGAdd_Click(sender As Object, e As EventArgs) Handles BtnSGAdd.Click
DGVSG.Rows.Add(CBShear.Text, CBShear.SelectedValue.ToString)
End Sub
然而,这实际上只是导致写入字符串。我需要引用用于加载组合框的实际数据表来提取这些数字。
答案 0 :(得分:1)
在向行添加行之前,您需要先设置DataGridView
的列。
尝试这样的事情:
If DGV.Columns.Count = 0 then
DGV.Columns.Add("Column1_Name", "Column1_Header")
DGV.Columns.Add("Column2_Name", "Column2_Header")
End If
DGV.Rows.Add(ComboBox1.Text, ComboBox1.SelectedValue.ToString)
这假设您的ComboBox是数据绑定的,并且已分配ValueMember
和DisplayMember
。
答案 1 :(得分:0)
如果我理解你的问题,你只需要在相应的+按钮的事件处理程序中向datagridview添加一行
dgv.Rows.Add(YourComboBox.Text)
如果您需要填充多个列,请使用数组。
dgv.Rows.Add({"first column data", "second column data", "etc."})