vb.net Datagridview添加行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vb.net Datagridview添加行相关的知识,希望对你有一定的参考价值。

Datagridview里显示的我是sql里存储的数据, 然后我通过Datagridview 添加和更改我数据库里面的内容,点击保存递交到数据库。
如果数据库里已经有Datagridview行数据了,执行update
新添加的行数据添加到数据库里 ,执行Insert Into ,
问题就是执行添加的时候是 将Datagridview里的所有数据都添加到数据库中了 ,请问怎么筛选一下。

vb.net Datagridview添加行,需要四个按钮,一个datagridview控件。代码如下:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
\'添加行
Me.DataGridView1.Rows.Add()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
\'添加列
Me.DataGridView1.Columns.Add("1", "on")
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
\'删除行
Me.DataGridView1.Rows.RemoveAt(0)
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
\'删除列
Me.DataGridView1.Columns.RemoveAt(0)
End Sub
End Class
参考技术A 提供一个思路:
在填充到DataGridView时,将其行数Rows.Count保存到一个变量中,保存的时候,将修改过的原有记录Update,再对大于Rows.Count-1的行进行Insert Into。本回答被提问者和网友采纳

VB.Net 用 dataset1 表行填充 DataGridview

【中文标题】VB.Net 用 dataset1 表行填充 DataGridview【英文标题】:VB.Net Filling DataGridview with dataset1 table rows 【发布时间】:2017-10-04 08:52:39 【问题描述】:

这里的菜鸟,已将 SQL 数据库作为数据源导入表单应用程序,但是当我单击预览时,没有显示任何行。

Public Class Form1
   Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    'TODO: This line of code loads data into the "DataSet1.Ac_Billbook" table. You can move, or remove it, as needed.
    'Me.Ac_BillbookTableAdapter.Fill(Me.DataSet1.Ac_Billbook)
    For Each table In DataSet1.Tables
        ComboBox1.Items.Add(table.ToString)
    Next
  End Sub

  Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
      DataGridView1.DataSource = DataSet1.Tables(ComboBox1.SelectedItem)
     'DataGridView1.DataBind()
  End Sub
End Class

这个想法是我可以通过查看表格并快速查看表格来预览表格字段。

【问题讨论】:

试试DataSet1.Tables(ComboBox1.SelectedItem).DefaultView GridView 现在完全空白 【参考方案1】:

您可以分解将表格分配为数据源的行,以便您可以使用断点并使用 VS 的“数据集可视化工具”(带有放大镜的小图标将显示它)功能来检查表格内容.

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim dt as New DataTable
    dt = DataSet1.Tables(ComboBox1.SelectedItem).DefaultView
    DataGridView1.DataSource = dt
End Sub

在“DataGridView1.DataSource = dt”的行上放一个断点,看看数据表是否有所需的行。 如果没有数据,也用第一个表测试:

dt = DataSet1.Tables(0).DefaultView

如果仍然没有数据,那么您的数据库表中将一无所获。

【讨论】:

在这一行出现错误:dt = DataSet1.Tables(ComboBox1.SelectedItem).DefaultView) 无法将“System.Data.DataView”类型的对象转换为“System.Data.DataTable”类型。 嗯,然后去掉“.DefaultView”。我看到我仅将 .DefaultView 与 DataSource 一起使用。它应该可以工作。 好的,现在似乎按照我原来的帖子显示列标题 - 没有行 - 我需要指定数据成员吗? 按照上面的说明和图片,您在 DataSet Visualizer 中看到了什么?也是空的吗? 我怀疑,您传递给 Tables() 的表名不匹配或已损坏。顺便说一下,SelectedItem 可以给你一个数组行(广告它不起作用)。我肯定会使用 Combobox1.ValueMember ,将其设置为表名,然后使用 DataSet1.Tables(ComboBox1.**SelectedValue**)。但是,如果您可以枚举您的表,我肯定会使用它们的数字索引(0 到 N)作为 ValueMember 值。如果你能在作业中保持秩序,我会认为这是更安全的方法。

以上是关于vb.net Datagridview添加行的主要内容,如果未能解决你的问题,请参考以下文章

求vb.net高手,如何设置datagridview的行标题,比如行标题设置成“第一行”“第二行”“第三行”

VB.NET中DataGridView谁帮忙?

vb.net中怎样求DataGridView的行数和列数?

VB.Net 用 dataset1 表行填充 DataGridview

关于VB.NET2005中dataGridView的问题

在 vb.net 的 datagridview 中添加行号