【Winform系列】Winform控件DataGridView添加数据的几种方式
1:直接添加
在控件中设置好每列的名称
例如:
DataGridViewRow row = new DataGridViewRow(); int j = dgv.Rows.Add(row); dgv.Rows[j].Cells[1].Value = 值; dgv.Rows[j].Cells[2].Style.Font = new Font(dgv.Font, FontStyle.Bold);//设置字体加粗
2:数据源绑定
当加载数据量比较大时,使用第一种方法由于每次都要新建行,可能导致加载数据慢,等待页面时间长的问题,这时应用数据源绑定额方式可以大大提高加载速度,比如先把数据放到DataTable中,再绑定到DataGridView上。
例如:
DataTable dt = new DataTable(); dt.Columns.Add(列名);//先设置每列名称 DataRow row = dt.NewRow(); row[1] = 值; dt.Rows.Add(row); dgv.DataSource = dt;//绑定数据源
由于DataTable是虚表,只能存放数据,如果想改变数据的样式或单元格格式,在绑定完数据之后改变DataGridView即可。
如:
dgv.Columns[0].Width = 100;//改变列宽 dgv.Columns[0].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;//列数据居中显示
注:在加载数据时设置字体加粗可能导致加载页面缓慢的问题,当加载数据量比较大时可能用分页避免页面加载缓慢的问题。
3:扩展问题:DataGridView合并单元格
· 从零实现富文本编辑器#3-基于Delta的线性数据结构模型
· 记一次 .NET某旅行社酒店管理系统 卡死分析
· 长文讲解 MCP 和案例实战
· Hangfire Redis 实现秒级定时任务,使用 CQRS 实现动态执行代码
· Android编译时动态插入代码原理与实践
· 使用TypeScript开发微信小程序(云开发)-入门篇
· 没几个人需要了解的JDK知识,我却花了3天时间研究
· C#高性能开发之类型系统:从 C# 7.0 到 C# 14 的类型系统演进全景
· 管理100个小程序-很难吗
· 在SqlSugar的开发框架中增加对低代码EAV模型(实体-属性-值)的WebAPI实现支持