知识大全 用DataGrid浏览数据相关实例

Posted

篇首语:年轻只知学习营利,乃生命中最黯淡之时刻。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 用DataGrid浏览数据相关实例相关的知识,希望对你有一定的参考价值。

用DataGrid浏览数据相关实例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   数据集    Friend WithEvents Ds As DGDataViewSample Dataset     Dataset 为项目中的数据集框架文件 结构包括两个表 tablePerson和tableType     数据库连接变量    Friend WithEvents ODC As System Data OleDb OleDbConnection    本例使用Access数据库 所以数据库连接使用OleDbConnection类型 针对不同 数据库类型 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    ODDAPerson Fill(Ds tablePerson)    ODDAType Fill(Ds tableType)    Catch ex As Exception    MsgBox(ex Message)    Application Exit()    End Try    End Sub    初始化窗口控件    Private Sub InitUI()    LBTable SelectedIndex =     DG Select( )    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 > Then    DG CurrentRowIndex =     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 < = Then    DG CurrentRowIndex =     Else    DG CurrentRowIndex = DG CurrentRowIndex     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 + >= dv Table Rows Count Then    DG CurrentRowIndex = dv Table Rows Count     Else    DG CurrentRowIndex = DG CurrentRowIndex +     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     DG Select(DG CurrentRowIndex)    End Sub     数据操作    按钮添加    Private Sub BAdd_Click(ByVal sender As System Object ByVal e As System EventArgs) Handles BAdd Click    Dim dv As DataView    Dim rowNew As DataRowView    dv = DG DataSource    rowNew = dv AddNew()    rowNew EndEdit()    DG CurrentRowIndex = dv Table Rows Count     DG Select(DG CurrentRowIndex)    End Sub    在调用AddNew添加一条新记录之后 紧接着调用了EndEdit 这样是表明这个添加操作已经完成 可以对这个新记录进行其它任何操作了 在此调用之前 新记录被认为是正在编辑的记录 会被锁定 这时对其进行删除操作就会引发错误 而且这条记录并不会真正的存入表中 在EndEdit调用之后 新记录存入表中 但是行状态被标志为新增记录     这一步完成后 用户一般会通过表格输入新记录的各个字段值 在程序中 实际上是将这个过程视做对新增记录的修改     按钮删除    Private Sub BDel_Click(ByVal sender As System Object ByVal e As System EventArgs) Handles BDel Click    Dim dv As DataView    dv = DG DataSource    dv Delete(DG CurrentRowIndex)    DG Select(DG CurrentRowIndex)    End Sub    按钮保存    Private Sub BSave_Click(ByVal sender As System Object ByVal e As System EventArgs) Handles BSave Click    Me UpdateData()    End Sub    保存子过程    Private Sub UpdateData()    Dim addds As DataSet    Dim delds As DataSet    Dim updateds As DataSet    Try    addds = Ds GetChanges(DataRowState Added)    delds = Ds GetChanges(DataRowState Deleted)    updateds = Ds GetChanges(DataRowState Modified)    If addds Is Nothing Then    Else    ODDAPerson Update(addds)    ODDAType Update(addds)    End If    If updateds Is Nothing Then    Else    ODDAPerson Update(updateds)    ODDAType Update(updateds)    End If    If delds Is Nothing Then    Else    ODDAPerson Update(delds)    ODDAType Update(delds)    End If    Catch ex As Exception    MsgBox(ex Message)    Exit Sub    End Try    Try    DVPerson Table AcceptChanges()    DVType Table AcceptChanges()    Ds AcceptChanges()    Catch ex As Exception    MsgBox(ex Message)    Exit Sub    End Try    End Sub    * 在为DataTable调用AcceptChanges之后 将清除所有行的状态标志 也就是说 程序将无法再区分哪些是新添加的 哪些是被修改后的 所以所有利用行状态标志对数据源进行修改的操作都放在了此调用之前     * 将各种修改存回数据源的顺序为 添加的行——被修改的行——被删除的行 以免在操作时发生逻辑错误 cha138/Article/program/Java/hx/201311/26069

相关参考

知识大全 浅析showModalDialog数据缓存问题(用禁止浏览器缓存解决)

浅析showModalDialog数据缓存问题(用禁止浏览器缓存解决)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶

知识大全 ASP.NET中实现DataGrid数据排序

ASP.NET中实现DataGrid数据排序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Vi

知识大全 Oracle数据库实例及其相关概念

Oracle数据库实例及其相关概念  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  完整的Orac

知识大全 用Oracle中的Statspack诊断数据库性能实例

用Oracle中的Statspack诊断数据库性能实例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 添加一个下拉框到DataGrid

添加一个下拉框到DataGrid  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  本实例利用Pai

知识大全 用JSP实现数据库图片的存储与显示实例[1]

用JSP实现数据库图片的存储与显示实例[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  引言

知识大全 用JSP实现数据库图片的存储与显示实例[4]

用JSP实现数据库图片的存储与显示实例[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  将此

知识大全 用JSP实现数据库图片的存储与显示实例[2]

用JSP实现数据库图片的存储与显示实例[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  将此

知识大全 用JSP实现数据库图片的存储与显示实例[3]

用JSP实现数据库图片的存储与显示实例[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  &l

知识大全 用一个实例讲解DB2数据库游标循环的问题

用一个实例讲解DB2数据库游标循环的问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  本文中的