C#可视化编程技术第七章:Windows数据显示控件(内含笔记、效果图、代码注释)

笔记:
1、数据集:DataSet ds = new DataSet(“name”);//括号内一般为空;
2、数据适配器:SqlDataApater dap = new SqlDataAdapter(sql,conn);其中sql为数据库查询语句字符串,conn为数据库连接对象;
3、dap.Fill(ds);//将查询语句填充到数据集中作为一个表格;
4、DataTable dt = ds.Tables[0];//将数据集中的某个确定表格dataTable表格中;

5、DataGridView控件中的Dock属性设置为Fill,让控件填满整个窗体;
6、DataGridView.DataSource = ds.Tables[0];在控件中显示整个查询结果表格;
7、dataGridView。AutoGenerateColumns = false;取消自动添加的没有查询的数据库表格中的其他列;
8、将AutoSizeColumnsMode属性设置为Fill;列表自动平分控件的空间;
9、将RowHeadersVisible属性设置为False;取消控件前的行标题;
10、将 SelectionMode 属性设置为FullrowSelect;选中任意一行的某个窗格则选中某一行;

11、DataView对象:DataView dv = new DataTable.DefautView;
DataView dv = new DataView(DataTable);
12、设置工具栏添加搜索功能和排序功能;
搜索:DataView对象.RowFilter = “过滤字符串(比如:Name like ‘%泽%’)”;
排序:DataView对象.Sort = “列名 desc|asc,列名 desc|asc”;
最后记得重置数据源:this.DataGridView.DataSource = dv;

尝试制作一个窗体:
在这里插入图片描述
在这里插入图片描述
降序排序后的表格:
在这里插入图片描述
代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace T7
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

    //创建 DataSet 对象
    DataSet ds = new DataSet();

    private void Form1_Load(object sender, EventArgs e)
    {
        //数据库连接字符串
        string constr = "server = .; Integrated Security = true;";
        //创建数据库连接对象
        SqlConnection conn = new SqlConnection(constr);
        //数据库查询语句
        string sql = "select * from Table_user";
        //创建 SqlDataAdapter 对象
        SqlDataAdapter dap = new SqlDataAdapter(sql,conn);
        //填充数据库表格
        dap.Fill(ds);
        //在 dataGridView 控件中显示查询后结果
        dataGridView1.DataSource = ds.Tables[0];
        //确保数据库连接通道关闭,控件解放
        conn.Close();
        conn.Dispose();
    }

    private void toolStripButton1_Click(object sender, EventArgs e)
    {
        //搜索关键字
        string key = toolStripTextBox1.Text;
        //创建dataView对象
        DataView dv = ds.Tables[0].DefaultView;
        //筛选后的表格
        dv.RowFilter = string.Format("name like '%{0}%'",key);
        //将筛选后的表格作为dataGridView的数据源
        this.dataGridView1.DataSource = dv;
    }

    private void toolStripButton2_Click(object sender, EventArgs e)
    {
        //创建dataView对象
        DataView dv = ds.Tables[0].DefaultView;
        //降序排序后的表格,如果想要实现升序排序只需将desc改为asc
        dv.Sort = "phone desc";
        //将排序后的表格作为dataGridView的数据源
        this.dataGridView1.DataSource = dv;
    }
}
}

总结:
dataSet与DataAdapter实现了脱离数据库存储里面的数据,再利用DataGridView控件在窗体中显示所有数据;利用dataView对象实现了数据的筛选和排序,实现了基本的数据操作。

在这里插入图片描述

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值