VB的DataGrid用法?
DataGrid1.AllowUpdate = True
DataGrid1.AllowAddNew = True
DataGrid1.AllowDelete = TrueSet con = New ADODB.Connection
con.CursorLocation = adUseClient '使游标在客户端. con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\SIM.mdb;Persist Security Info=False"
Dbstr = "select * from 校线表"
Set rs = New ADODB.Recordset
rs.Open Dbstr, con
Set DataGrid1.DataSource = rs
DataGrid1.Refresh
现在可以显示了,但控件上的数据不能改,也不能通过控件改数据库的数据,请教怎么实现修改控件的数据并保存到数据库...先谢谢啦
这是效果图,可以选择单元格,但是不能修改 展开
推荐于2017-09-07 · 知道合伙人软件行家
VB的DataGrid用法:
DataGrid 控件是一种类似于电子数据表的绑定控件,可以显示一系列行和列来表示 Recordset 对象的记录和字段。可以使用 DataGrid
来创建一个允许最终用户阅读和写入到绝大多数数据库的应用程序。DataGrid 控件可以在设计时快速进行配置,只需少量代码或无需代码。当在设计时设置了
DataGrid 控件的 DataSource
属性后,就会用数据源的记录集来自动填充该控件,以及自动设置该控件的列标头。然后您就可以编辑该网格的列;删除、重新安排、添加列标头、或者调整任意一列的宽度。在运行时,可以在程序中切换 DataSource 来察看不同的表,或者可以修改当前数据 库的查询,以返回一个不同的记录集合。
可能的用法
1.查看和编辑在远程或本地数据库中的数据。
2.与另一个数据绑定的控件(诸如 DataList 控件)联合使用,使用 DataGrid
控件来
显示一个表的记录,这个表通过一个公共字段链接到由第二个数据绑定控件所显示 的表。
使用 DataGrid 控件的设计时特性
可以不编写任何代码,只通过使用 DataGrid 控件的设计时特性来创建一个数据库应用程序。下面的说明概要地说明了在实现 DataGrid
控件的典型应用时的一般步骤。要在设计时实现一个 DataGrid 控件
1.为您希望访问的数据库创建一个 Microsoft 数据链接 (.UDL) 文件。请参阅“创建 Northwind OLE DB
数据链接”主题,以获得一个示例。
2.在窗体上放置一个 ADO Data 控件,并将其 ConnectionString 属性设置为在第 1 步中所创建的OLE DB
数据源。3.在这个 Ado Data 控件的 RecordSource 属性中输入一条将返回一个记录集的 SQL 语句。例如:
Select * From MyTableName Where CustID = 12
4.在窗体上放置一个 DataGrid 控件,并将其 DataSource 属性设置为这个 ADO Data 控件。5.右键单击该 DataGrid 控件,然后单击“检索字段”。
6.右键单击该 DataGrid 控件,然后单击“编辑”。
7.重新设置该网格的大小、删除、或添加网格的列。
8.右键单击该 DataGrid 控件,然后单击“属性”。
9.使用“属性页”对话框来设置该控件的适当的属性,将该网格配置为所需的外观和行为。
在运行时更改显示的数据
在创建了一个使用设计时特性的网格后,也可以在运行时动态地更改该网格的数据源。下面介绍实现这一功能的通常方法。
更改 DataSource 的RecordSource
更改所显示的数据的最通常的方法是改变该 DataSource 的查询。例如,如果 DataGrid 控件使用一个 ADO Data 控件作为其 DataSource,则重写 RecordSource、刷新该 ADO Data 控件、都将改变所显示的数据。
' ADO Data 控件连接的是 Northwind 数据库的
' Products 表。新查询查找所有
' SupplierID = 12 的记录。
Dim strQuery As String
strQuery = "SELECT * FROM Suppliers WHERE SupplierID = 12"
Adodc1.RecordSource = strQuery
Adodc1.Refresh更改 DataSource
在运行时,可以将 DataSource 属性重新设置为一个不同的数据源。例如,您可能具有若干个 ADO Data
控件,每个控件连接不同的数据库,或设置为不同的 RecordSource 属性。可以简单地将 DataSource 从一个 ADO Data
控件重新设置为另一个 ADO Data 控件:' 将 DataSource 重新设置为一个连接到 Pubs 数据库的、
' 使用 Authors 表的 ADO Data 控件。
Set DataGrid1.DataSource = adoPubsAuthors重新绑定 DataSource
当将 DataGrid 控件用于一个远程数据库,诸如 SQLServer 时,可以改变表的结构。例如,可以给这个表添加一个字段。在这种情形时,可以调用
Rebind 方法根据新的结构来重新创建该网格。注意,如果已经在设计时改变了这个列的布局,DataGrid
控件将会试图重新创建当前的布局,包括任何空的列。不过,通过首先调用 ClearFields 方法,可以强制该网格重新设置所有的列。
完整的事件定义如下(我这个地方控件命名为DataGridView1:
Private Sub DataGridView1_CellValueChanged(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellValueChanged
他里面有一个参数e,e有两个属性一个是ColumnIndex,RowIndex。通过这个你就可以得到具体的选中的是什么数字。然后你可以用判断这三种状态来设置颜色。
/////////////////////////////////////////////////////////////
这个是事件响应函数,你选中那个datagrid控件,然后右键点击属性,然后选择事件栏:在里面有一个CellValueChanged事件,你双击之后,编译器会给你生成这个函数。你不会事件到现在都没用过吧?
不过vb.net我语法不太懂,不然替你实现了。
可以直接在表上改吗?
对的,加上text控件后,编上代码,就可以双击那个数据,更改数据