VB的DataGrid用法?

我想对Access数据库数据进行显示和修改,现在程序是这样的DataGrid1.AllowUpdate=TrueDataGrid1.AllowAddNew=TrueDat... 我想对Access数据库数据进行显示和修改,现在程序是这样的

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
现在可以显示了,但控件上的数据不能改,也不能通过控件改数据库的数据,请教怎么实现修改控件的数据并保存到数据库...先谢谢啦
这是效果图,可以选择单元格,但是不能修改
展开
 我来答
zdingyun
推荐于2017-09-07 · 知道合伙人软件行家
zdingyun
知道合伙人软件行家
采纳数:15429 获赞数:48176
1982年上海业余工业大学化工系毕业 现退休

向TA提问 私信TA
展开全部

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 方法,可以强制该网格重新设置所有的列。

手机用户05416
推荐于2017-09-22 · TA获得超过213个赞
知道答主
回答量:213
采纳率:0%
帮助的人:114万
展开全部
实在抱歉,vb.net接触的少,不过在.net中很多做法都是一样的。datagridview有一个事件叫CellValueChanged,不知道你能不能找到?
完整的事件定义如下(我这个地方控件命名为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我语法不太懂,不然替你实现了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
范永熙喆
2011-03-09 · 超过49用户采纳过TA的回答
知道小有建树答主
回答量:279
采纳率:0%
帮助的人:141万
展开全部
需要在加一个Text控件
追问
可以直接在表上改吗?
追答
对的,加上text控件后,编上代码,就可以双击那个数据,更改数据
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式