用DataGrid浏览数据相关实例

分类: VC.NET   出处:iocblog整理  更新时间:2009-01-02   添加到收藏  


  数据集
  
  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

[1] [2] 下一页


Tag: DataGrid



文章整理:iocblog
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。