【机房重构个人版】DataGridView显示数据

来源:互联网 发布:mac 复制粘贴程序 编辑:程序博客网 时间:2024/05/01 18:27

       DataGridView与VB中DataGrid控件的功能十分类似,都是用来显示数据库中的数据。下面就我自己的理解,简单说一下DataGridView控件的使用。DataGridView控件绑定DataSet数据集中的数据,可以有两种实现方式:方法一:DataGridView绑定数据源。方法二:代码实现。

       方法一:DataGridView绑定数据源:

①添加项目数据源

                                      


                   


              


                        


         

这时,我们并不希望User_info表中的所有信息全部展现出来。我们只需要把UserID、UserName、Head的信息展现在DataGridView中即可。

       完成之后,数据源就绑定了,这时默认在本窗体的加载事件下,会自动生成如下代码:

<span style="font-size:18px;"><span style="font-size:18px;">Private Sub frmDeleteAddUser_Load(sender As Object, e As EventArgs) Handles MyBase.Load        'TODO: 这行代码将数据加载到表“ChargeRe_sysDataSet2.User_info”中。您可以根据需要移动或删除它        Me.User_infoTableAdapter1.Fill(Me.ChargeRe_sysDataSet2.User_info)End Sub</span></span>
       这句代码实现了将数据库中的部分信息显示在DataGridView控件中。当然我们也可以修改代码的位置,例如放在一个button按钮的Click事件下面。具体实现方式视情况而定。

②编辑列

        

        添加完数据源之后,DataGridView空间中显示的列名是英文的,这时因为我们数据库中的字段名也是英文的。这样看起来不美观,因此我们需要修改列的HeaderText属性,将其改为我们需要在界面上显示的列名。

         方法二:代码实现

         ①创建连接对象:SqlConnection

         ②创建适配器对象:SqlDataAdapater

         ③填充数据集Fill()

         ④DataGridView控件连接,用DataSource属性

         ⑤操作认可SqlCommandBuilder,利用该对象能够生成Insert命令、Update命令、Delete命令。Dim builder As New SqlCommandBuilder(已创建的DataAdapter对象)

 ⑥提交数据Update,保存DateSet(数据集)中的数据,把数据集中修改的数据提交到数据源。

代码实现

<span style="font-size:18px;"><span style="font-size:18px;">       Dim conn As New SqlConnection("Data Source=.;Initial Catalog=chargeRe_sys;Integrated Security=true")        Dim ds As New DataSet("User_info")        Dim da As New SqlDataAdapter("select UserID,UserName,Head from User_info", conn)        da.Fill(ds, "User_info")        DataGridView1.DataSource = ds.Tables("User_info")        '数据提交        Dim builder As New SqlCommandBuilder(da)        da.Update(ds, "User_info")        '数据刷新        'ds.Tables["User_info"].Clear        ds.Tables.Clear()        da.Fill(ds, "User_info")        DataGridView1.Columns(0).HeaderText = "用户名"        DataGridView1.Columns(1).HeaderText = "姓名"        DataGridView1.Columns(2).HeaderText = "开户人"</span></span>

        总结:两种实现方式各有优缺点,具体优缺点,还是您亲自尝试一下吧,嘻嘻。。。


0 0