网站首页 > 教程分享 正文
Hello,看官好,感谢点击阅读这篇文章。
首先声明,我不是一个程序员,.net相关的知识完全出于个人兴趣自学的,这个小系列主要分享一些作为小白的我在学习winform过程中踩的一些坑,希望能帮到大家
1、DataGridView赋值与清空
1)赋值
DataGridView是winform开发中一个承载数据的载体,我们在窗口增加一个DataGridView控件,可以将从数据库查询得到的整个DataTable赋值给DataGridView的DataSource,例如下面这样写:
this.dataGridView1.DataSource=dt;
当然,还有第二种方式,那就是一行一行地给DataGridView新增数据,如:
this.dataGridView1.Rows.Add(tbMPN.Text.ToUpper(),tbQTY.Text,cbbBOM.Text,cbbPROJECT.Text,tbMEMO.Text);
用第二种方式增加数据,DataGridView不能为空,需要提前新增一列表头,可以用代码判断是否存在列,然后动态增加,我习惯是在增加控件的时候直接在控件上先设置好列名。
2)清空
两种赋值方式,就有两种清空DataGridView的方式
第一种,如果是通过DataSource赋值,清空DataGridView时,需要先将数据重新转化为DataTable,清空DataTable之后,再重新赋值给DataSource,代码如下:
if(this.dataGridView1.DataSource!=null)
{
DataTable dt = (DataTable)dataGridView1.DataSource;
dt.Clear();
dataGridView1.DataSource = dt;
}
第二种,如果是一行一行地增加数据,清空DataGridView的时候,一句代码就解决了:
this. dataGridView1.Rows.Clear();
2、解决DataGridView闪烁的问题
我们发现,在第一次打开窗口和获取数据时,DataGridView会出现闪烁,只要几句代码,就可以解决这个问题:
Type dtGridViewType = this.dataGridView1.GetType();
PropertyInfo pi = dtGridViewType.GetProperty("DoubleBuffered", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
pi.SetValue(this.dataGridView1, true, null);
3、设置单元格类型
DataGridView呈现数据表格时,默认都是TextBox,当然在日常开发中,我们还会用到ComboBox,CheckBox等,我们可以在增加控件时直接设置,如下图:
也可以在用代码动态增加列时同时设置类型,如:
//新增DataGridViewComboBoxColumn
DataGridViewComboBoxColumn dgvcbc = dataGridView1.Columns["PROJECT"] as DataGridViewComboBoxColumn;
string sqlstr = "SELECT DISTINCT PROJECT FROM inventory";//这是我的数据库查询语句
DataTable dt1 = new ConnectDB().QueryDB(sqlstr);//这是用了我自己写的连接数据库方法
for (int j = 0; dt1.Rows.Count - j > 0; j++)
{
if (!dgvcbc.Items.Contains(dt1.Rows[j][0].ToString()))
dgvcbc.Items.Add(dt1.Rows[j][0].ToString());
}
非常感谢看到这里,如果我写的有哪里不对,欢迎评论区指正,有什么看法也欢迎评论区讨论哈。
最后,欢迎点赞转发收藏关注喔~
猜你喜欢
- 2024-10-23 NEW!WinForm界面开发设计时正式支持.NET 5
- 2024-10-23 Winform界面开发:如何在时间单元格中绘制旋转的文本
- 2024-10-23 WinForm界面开发:在DevExpress中使用TeeList控件及节点查询处理
- 2024-10-23 C# WinForm开发书店管理系统第四节
- 2024-10-23 C# WinForm界面设计教程——第6节
- 2024-10-23 C# + Blazor Web入门实战:私人笔记(8)创建分类编辑组件
- 2024-10-23 C# WinForm开发书店管理系统第三节
- 2024-10-23 如何快速开发树形列表和分页查询整合的Winform程序界面?
- 2024-10-23 WinForm+EF+devexpress开发小型CRM系统(1)
- 2024-10-23 正在Winform界面开发?带你了解Visual Studio Palette Editor
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- css导航条 (66)
- sqlinsert (63)
- js提交表单 (60)
- param (62)
- parentelement (65)
- jquery分享 (62)
- check约束 (64)
- curl_init (68)
- sql if语句 (69)
- import (66)
- chmod文件夹 (71)
- clearinterval (71)
- pythonrange (62)
- 数组长度 (61)
- javafx (59)
- 全局消息钩子 (64)
- sort排序 (62)
- jdbc (69)
- php网页源码 (59)
- assert h (69)
- httpclientjar (60)
- postgresql conf (59)
- winform开发 (59)
- mysql数字类型 (71)
- drawimage (61)
本文暂时没有评论,来添加一个吧(●'◡'●)