DataGrid 能做到这些功能吗?

wangdali 2004-04-20 02:44:22
DataGrid 能做到这些功能吗?

1、显示2个数据表的内容,按我的要求显示各个表中的不同字段,好象数据绑定是个问题:(
2、从表搜索出符合的记录显示在表中。
3、用代码实现字段的绑定,我绑定了,都不起作用,可能是我绑定有误。

Private Sub Form_Load()

Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=h:\database.mdb;Persist Security Info=False" '由向导生成,测试连接通过就可以了
Adodc1.CommandType = adCmdText '设置命令类型为文本型
Adodc1.RecordSource = "select * from member" '设置ADO控件的数据源为你数据库一个表中的所有记录
Set DataGrid1.DataSource = Adodc1 '设置datagrid1控件的数据源为adoc1
Adodc1.Refresh

DataGrid1.Caption = "会员列表"
DataGrid1.Columns(0).Caption = "编号"
DataGrid1.Columns(1).Caption = "会员名字"

DataGrid1.Columns(0).DataField = Adodc1.Recordset(0)‘不会怎么绑定,只列出了记录数(行数)不过没有内容。:(
DataGrid1.Columns(1).DataField = Adodc1.Recordset(1)

DataGrid1.Refresh

End Sub

===============
DataGrid1.Columns(0).DataField = Adodc1.Recordset(0)
DataGrid1.Columns(1).DataField = Adodc1.Recordset(1)

换成
DataGrid1.Columns(0).DataField = Adodc1.Recordset!ID
DataGrid1.Columns(1).DataField = Adodc1.Recordset!Name

也是没有起作用。是我上面代码有什么问题吗?
...全文
74 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangdali 2004-04-20
  • 打赏
  • 举报
回复
呵呵,谢谢回答,先给分一会再试,玩游戏中:)
lsftest 2004-04-20
  • 打赏
  • 举报
回复
一个简单例子:
Private Sub Command1_Click()
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\test1.MDB;Persist Security Info=False"
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "select ta1.id,ta1.name,ta2.income from ta1,ta2 where (ta1.id=ta2.id) and ta1.id=" & Trim(Text1.Text) & ";"
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1
DataGrid1.ReBind
DataGrid1.Refresh
End Sub

1.Adodc1.RecordSource可以设成你想要的查询语句。
2.上面的textbox只是作为一个例子让你输入动态的查询条件,在实际应用中当然可以更灵活,你甚至可以在textbox中输入整句的查询语句让adodc去执行。
3.可在Adodc1.RecordSource中先设定各字段显示的顺序,然后在refresh。
3.
jinesc 2004-04-20
  • 打赏
  • 举报
回复
http://progame.vip.myrice.com:81/editgrid/
lsftest 2004-04-20
  • 打赏
  • 举报
回复
哎呀,搞错了。。。回头再写。。。。
lsftest 2004-04-20
  • 打赏
  • 举报
回复
三个问题的关键都是一样的,下面是我以前给一位csdner的回帖,你参考一下吧:
========================================
我的程序是这样写的:
新建一工程,添加两个命令按钮,一个adodc控件,一个datareport,在datareport的细节区添加一个没有绑定的rpttextbox,。。
上述添加的所有控件都使用默认值,不进行设置。。然后输入代码:


Private Sub Command1_Click()
Unload DataReport1
'读取ini文件部分就省略了吧,反正就是根据读出来的资料来构建下面的Adodc1.ConnectionString
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:\test1.mdb;Persist Security Info=False"
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "select * from testtable;"
Adodc1.Refresh
Set DataReport1.DataSource = Adodc1
DataReport1.Sections(3).Controls(1).DataField = "income"
DataReport1.Show
End Sub

Private Sub Command2_Click()
Unload DataReport1
'读取ini文件部分就省略了吧,反正就是根据读出来的资料来构建下面的Adodc1.ConnectionString
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db1.mdb;Persist Security Info=False"
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "select * from 个人收支;"
Adodc1.Refresh
Set DataReport1.DataSource = Adodc1
DataReport1.Sections(3).Controls(1).DataField = "金额"
DataReport1.Show
End Sub

运行程序,按command1的时候,datareport出现,rpttextbox里面显示的是e:\test1.mdb数据库里面testtable表里面income字段的值。。
再按command2,datareport消失,又重现,但是这次rpttextbox里面显示的是C:\db1.mdb数据库里面个人收支表里面"金额"字段的值了。。
上面仅是一个很简单的例子,使用数据环境或adodb作为datareport数据源时原理跟这个应该差不多。。。。

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧