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

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

       方法一:DataGridView绑定数据源:

①添加项目数据源

                                      机房重构个人版——DataGridView显示数据_第1张图片


                   机房重构个人版——DataGridView显示数据_第2张图片


         机房重构个人版——DataGridView显示数据_第3张图片     


                 机房重构个人版——DataGridView显示数据_第4张图片       


         机房重构个人版——DataGridView显示数据_第5张图片

这时,我们并不希望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显示数据_第6张图片

        添加完数据源之后,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>

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


你可能感兴趣的:(总结,VB.NET,datagridview,机房收费系统)