断开式 DataGridView控件 winform

引入dgv控件

断开式 DataGridView控件 winform_数据源
断开式 DataGridView控件 winform_控件_02

绑定数据

dgv控件.数据源 = 仓库中的数据表

示例


        private void bindDgv() { 
        
            // 连接字符串
            String connStr = "Data Source=.;Initial Catalog=dbok;Integrated Security=True";
            // 查询语句sql
            String sql = "select * from sanguo";
            // 连接对象
            SqlConnection conn = new SqlConnection(connStr);
            // 空仓库
            DataSet ds = new DataSet();
            // 小货车
            SqlDataAdapter adapter = new SqlDataAdapter(sql, conn);
            // 让小车卸货
            adapter.Fill(ds, "table");

            // 拿到仓库中的表
            DataTable t = ds.Tables["table"];

            // 控件.数据源 = 表
            dataGridView1.DataSource = t;
        }

显示结果

断开式 DataGridView控件 winform_数据_03

定制列

目前的结果,显示了表的所有列

期望只显示我们需要的列

关掉自动显示

断开式 DataGridView控件 winform_数据源_04

断开式 DataGridView控件 winform_控件_05

手动添加列

断开式 DataGridView控件 winform_数据源_06
断开式 DataGridView控件 winform_数据_07
添加列

断开式 DataGridView控件 winform_数据源_08

断开式 DataGridView控件 winform_控件_09
运行效果

断开式 DataGridView控件 winform_sql_10
有多个空行

代表有数据进来了

只不过,数据没有与我的单元格对应上

让数据与列对应上

断开式 DataGridView控件 winform_数据源_11

对每一个列进行数据的绑定

让控件的列与数据表查询结果的列设置为一样的即可

最终的效果

断开式 DataGridView控件 winform_数据源_12

让列的宽度铺满控件

断开式 DataGridView控件 winform_查询语句_13

断开式 DataGridView控件 winform_数据源_14
启动的效果

断开式 DataGridView控件 winform_sql_15

去掉自动的首列

为true时

断开式 DataGridView控件 winform_数据源_16

设置为false

断开式 DataGridView控件 winform_控件_17

去掉底部的空行

断开式 DataGridView控件 winform_数据源_18
用代码解决

断开式 DataGridView控件 winform_控件_19

效果,底部的空白行就没有了

断开式 DataGridView控件 winform_sql_20