用DataGrid浏览数据相关实例
数据集
friend withevents ds1 as dgdataviewsample.dataset1
dataset1为项目中的数据集框架文件,结构包括两个表:tableperson和tabletype
数据库连接变量
friend withevents odc as system.data.oledb.oledbconnection
本例使用access数据库,所以数据库连接使用oledbconnection类型。针对不同3数据库类型,。net提供不同的数据库连接类。
例如sql server数据库需要使用sqlconnection,odbc数据源使用odbcconnection,oracle数据库需要使用oracleconnection.
数据适配器
friend withevents oddaperson as system.data.oledb.oledbdataadapter
friend withevents oddatype as system.data.oledb.oledbdataadapter
与数据库连接类似,对于不同的数据库类型,需要使用不同的数据适配器类。
例如sql server数据库需要使用sqldataadapter,odbc数据源使用odbcdataadapter,oracle数据库需要使用oracledataadapter.
数据适配器的属性可以通过工具栏添加,按照向导提示完成即可;可以在设计时在属性窗口中进行配置;可以在编程时用代码设置。一个数据适配器相当于一个数据通道,负责将数据源中的数据填充到相应的数据集或数据表中,在完成对数据集或数据表的修改之后,再通过数据适配器将更新后的数据提交到数据库的源表中。通过修改相应的sql语句,可以用编程控制数据适配器,使其匹配数据源中不同的表或视图。
本例为方便起见,为每一个表使用了单独的数据适配器和数据视图。
数据视图
friend withevents dvperson as system.data.dataview
friend withevents dvtype as system.data.dataview
本例中使用数据视图作为datagrid的数据源。数据集和数据表也可以直接作为数据源使用。
数据初始化:
在初始化界面时,需要做两件事情,一个是初始化数据(本例中为initdata过程),将数据源中的数据填充到数据实例中;另一个是适当设置窗口中的某些控件属性(本例中为initctrl过程),以使数据能够正确的显示出来。
初始化数据
private sub initdata()
try
odc.open()
catch ex as exception
msgbox(ex.message)
application.exit()
end try
try[iocblog.net 来源]
oddaperson.fill(ds1.tableperson)
oddatype.fill(ds1.tabletype)
catch ex as exception
msgbox(ex.message)
application.exit()
end try
end sub
初始化窗口控件
private sub initui()
lbtable.selectedindex = 0
dg.select(0)
end sub
数据浏览导航:
按钮第一个
private sub bfirst_click(byval sender as system.object, byval e as system.eventargs) handles bfirst.click
dg.unselect(dg.currentrowindex)
dim dv as dataview
dv = dg.datasource
if dv.table.rows.count > 0 then
dg.currentrowindex = 0
dg.select(dg.currentrowindex)
end if
end sub
按钮上一个
private sub bprev_click(byval sender as system.object, byval e as system.eventargs) handles bprev.click
dg.unselect(dg.currentrowindex)
dim dv as dataview
dv = dg.datasource
if dg.currentrowindex - 1 <;= 0 then
dg.currentrowindex = 0
else
dg.currentrowindex = dg.currentrowindex - 1
end if
dg.select(dg.currentrowindex)
end sub
按钮下一个
private sub bnext_click(byval sender as system.object, byval e as system.eventargs) handles bnext.click
dg.unselect(dg.currentrowindex)
dim dv as dataview
dv = dg.datasource
if dg.currentrowindex + 1 >= dv.table.rows.count then
dg.currentrowindex = dv.table.rows.count - 1
else
dg.currentrowindex = dg.currentrowindex + 1
end if
dg.select(dg.currentrowindex)
end sub
按钮最后一个
private sub blast_click(byval sender as system.object, byval e as system.eventargs) handles blast.click
dg.unselect(dg.currentrowindex)
dim dv as dataview
dv = dg.datasource
dg.currentrowindex = dv.table.rows.count - 1
dg.select(dg.currentrowindex)
end sub
Tag: DataGrid
文章整理:iocblog
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。