C#Winform-Datagridview基础应用

Datagridview是Winform丰富控件中的其中之一,其作用是将数据以表格的形式做到数据可视。这里主要针对于DataGridView控件的几个属性展开以及其在实际软件开发中的简单应用。

一、开始前准备

语言:C#
工具:Visual Studio 2022
框架:.NET Framework 4.8
模板:Windows窗体应用(.NET Framework)

二、控件-DataGridView

命名空间:System.Windows.Forms
程序集:System.Windows.Forms.dll
继承:Object→MarshalByRefObject→Component→Control→DataGridView

三、属性

  1. 控件命名:Name
  2. 控件背景颜色:BackgroundColor;
  3. 边框类型:BorderStyle;
  4. 偶数行颜色变化:AlternatingRowsDefaultCellStyle;
  5. 奇数行颜色变化:RowsDefaultCellStyle.BackColor;
  6. 允许用户添加行:AllowUserToAddRows;
  7. 行标题可见:RowHeadersVisible;
  8. 启用标头视觉样式:EnableHeadersVisualStyles;
  9. 列标题行样式:ColumnHeadersDefaultCellStyle;
  10. 单元格外观样式:RowTemplate→DefaultCellStyle;
  11. 锚:Anchor;

四、讲解

在这里插入图片描述
使用Windows窗体应用(.NET Framework)模板成功创建一个Windows窗体应用后,一般在右上角都会显示有:服务器资源管理器、工具箱以及属性。即使没有看到也没有关系,可以在视图中选中将其显示出来。

4.1 添加控件

选择工具箱,在搜索工具箱的输入框中输入DataGridView即可找到DataGridView控件,这里只需要将其拖到指定的位置便成功创建了DataGridView控制。

4.2 控件样式设置

控件创建成功后,就可以根据自己的实际需求对其进行设置和美化了。这里只做一个简单的应用演示,操作应用属性如上:三、属性所列。

Name:dgvClientInfo
Anchor:Top, Bottom, Left, Right
AllowUserToAddRows:False
AlternatingRowsDefaultCellStyle→BackColor:Silver
BackgroundColor:Window
EnableHeadersVisualStyles:False
ColumnHeadersDefaultCellStyle:BackColor:ForestGreen
ColumnHeadersDefaultCellStyle:Font:宋体,10.8pt
ColumnHeadersDefaultCellStyle:ForeColor:Window
ColumnHeadersDefaultCellStyle:SelectionBackColor:Control
RowHeadersVisible:False
RowTemplate:DefaultCellStyle

如上属性就设置完成了,值得注意的是DataGridView头标题的样式设置完毕后及得把EnableHeadersVisualStyles属性值设置为False,否则会看不到设置的样式。以及RowTemplate属性,该属性主要针对于DataGridView的单元格“Cell”,它具有默认的被选择样式,所以想改变其默认的样式时,需要通过RowTemplate下的DefaultCellStyle对单元格的样式设置。例如单元格默认选中的蓝色背景,可以修改改SelectionBackColor:Window

五、事件

在操作DataGridView时,通常要知道数据填充到DataGridView后,所对应的一些属性。比如:行的总数、列的总数,当前行、当前列、单元格数据等等。

// 去除非DataGridview设置的字段
dgvClientInfo.AutoGenerateColumns = false;
// BindData()方法为封装的数据源,类型为List<UserInfo>。
dgvClientInfo.DataSource = BindData();
// 总行数
int rowCount = dgvClientInfo.RowCount;
// 总列数
int columnCount = dgvClientInfo.ColumnCount;
// 当前行索引
int currentRowIndex = dgvClientInfo.CurrentRow.Index;
// 当前列索引
int currentColumnIndex = dgvClientInfo.CurrentCell.ColumnIndex;
// 单元格数据
string cellValue = dgvClientInfo.Rows[currentRowIndex].Cells[currentColumnIndex].Value.ToString();
// 获取Datagridview行对象,配合DataGridView的CellClick事件使用
BindPackWithModule bindPackWithModule = ((DataGridView)sender).CurrentRow.DataBoundItem as BindPackWithModule;
/// <summary>
        /// CellClick单元格点击事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dgvUsersInfo_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            UserInfo module = dgvClientInfo.CurrentRow.DataBoundItem as UserInfo;
            MessageBox.Show($"姓名:{module.ClientName} \r\n省份:{module.Provice} \r\n市区:{module.Downtown} \r\n地址:{module.Address} \r\n邮编:{module.Postcode} \r\n操作:{module.ManualEdit} \r\n操作:{module.RegisterDateTime}");
            string value = this.dgvClientInfo[e.ColumnIndex, e.RowIndex].Value.ToString();
        }

在这里插入图片描述
如上述常用的设置能简单地解决在实际应用中数据显示问题,这次分享到这里就结束了。后续再补充关联数据库后的CRUD的操作。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值