【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合并单元格

posted @   CodeMover92  阅读(1713)  评论(0)    收藏  举报
编辑推荐:
· 从零实现富文本编辑器#3-基于Delta的线性数据结构模型
· 记一次 .NET某旅行社酒店管理系统 卡死分析
· 长文讲解 MCP 和案例实战
· Hangfire Redis 实现秒级定时任务,使用 CQRS 实现动态执行代码
· Android编译时动态插入代码原理与实践
阅读排行:
· 使用TypeScript开发微信小程序(云开发)-入门篇
· 没几个人需要了解的JDK知识,我却花了3天时间研究
· C#高性能开发之类型系统:从 C# 7.0 到 C# 14 的类型系统演进全景
· 管理100个小程序-很难吗
· 在SqlSugar的开发框架中增加对低代码EAV模型(实体-属性-值)的WebAPI实现支持
点击右上角即可分享
微信分享提示