vb.net Datagridview添加行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vb.net Datagridview添加行相关的知识,希望对你有一定的参考价值。
Datagridview里显示的我是sql里存储的数据, 然后我通过Datagridview 添加和更改我数据库里面的内容,点击保存递交到数据库。
如果数据库里已经有Datagridview行数据了,执行update
新添加的行数据添加到数据库里 ,执行Insert Into ,
问题就是执行添加的时候是 将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 以上是关于vb.net Datagridview添加行的主要内容,如果未能解决你的问题,请参考以下文章
求vb.net高手,如何设置datagridview的行标题,比如行标题设置成“第一行”“第二行”“第三行”