使用代码绑定 DataGridView 控件用于程序界面显示表格
需求
软件界面需要使用表格,对数据进行显示、交互,这是一个非常通用的需求。
实现方法
DataGridView介绍
参考 https://docs.microsoft.com/en-us/dotnet/desktop/winforms/controls/basic-formatting-and-styling-in-the-windows-forms-datagridview-control?view=netframeworkdesktop-4.8
微软的文档介绍的非常清楚,这个winform的控件提供了客制化的图表显示功能。
The DataGridView control provides a customizable table for displaying data. The DataGridView class allows customization of cells, rows, columns, and borders through the use of properties such as DefaultCellStyle, ColumnHeadersDefaultCellStyle, CellBorderStyle, and GridColor. For more information, see Basic Formatting and Styling in the Windows Forms DataGridView Control.
You can use a DataGridView control to display data with or without an underlying data source. Without specifying a data source, you can create columns and rows that contain data and add them directly to the DataGridView using the Rows and Columns properties. You can also use the Rows collection to access DataGridViewRow objects and the DataGridViewRow.Cells property to read or write cell values directly. The Item[] indexer also provides direct access to cells.
As an alternative to populating the control manually, you can set the DataSource and DataMember properties to bind the DataGridView to a data source and automatically populate it with data. For more information, see Displaying Data in the Windows Forms DataGridView Control.
When working with very large amounts of data, you can set the VirtualMode property to true to display a subset of the available data. Virtual mode requires the implementation of a data cache from which the DataGridView control is populated. For more information, see Data Display Modes in the Windows Forms DataGridView Control.
For additional information about the features available in the DataGridView control, see DataGridView Control. The following table provides direct links to common tasks.
简单的使用
对于不算复杂的应用,我们只需要为DataGridView指定数据源即可,我们的典型用法是,创建一个list,然后将该list作为控件的数据源。

声明数据源,直接用List的方式,简化设计
///
/// AI EEPROM Information Class,用于声明一个数据行
///
public class AIEEPROMInformation
{
private bool calibration;
private double aigainValue;
private double aioffsetValue;
private double range;
private AICoupling coupling;
private AIImpedance impedance;
private int channel;
public int Channel
{
get
{
return channel;
}
set
{
channel = value;
}
}
public double Range
{
get
{
return range;
}
set
{
range = value;
}
}
public AICoupling Coupling
{
get
{
return coupling;
}
set
{
coupling = value;
}
}
public AIImpedance Impedance
{
get
{
return impedance;
}
set
{
impedance = value;
}
}
public bool Calibration
{
get
{
return calibration;
}
set
{
calibration = value;
}
}
public double AigainValue
{
get
{
return aigainValue;
}
set
{
aigainValue = value;
}
}
public double AioffsetValue
{
get
{
return aioffsetValue;
}
set
{
aioffsetValue = value;
}
}
}
用于声明一个基于AIEEPROMInformation行的数据源
BindingList aiEEPROMList;
aiEEPROMList = new BindingList<AIEEPROMInformation>();
绑定数据源
dataGridView_AIRead.DataSource = aiEEPROMList1;//获取数据源
更新数据源即可完自动成显示
dataGridView_AIRead.Update();
使用代码绑定 DataGridView 控件用于程序界面显示表格的更多相关文章
- ASP通过代码绑定Gridview控件
using System.Configuration;using System.Data.OleDb;using System.Data; public partial class datafilm ...
- Visual Basic 2012 借助DataGridView控件将SQL server2012 数据导入到Excel 2010
摘 要: SQL Server 2012 数据和Excel 2010之间的连接和数据的传输,本篇文章主要针对的是SQL Server 2012 数据导入到Excel 2010文件中.Excel软件对 ...
- C#实现WinForm下DataGridView控件的拷贝和粘贴
DataGridView控件应该是数据库应用系统最常用的控件之一,其方便性不言而喻的.往往用户在使用过程中会提出"从DataGridView空间 中拷贝数据或是向某个DataGridView ...
- DataGridView控件-学习笔记总结
1.GridColor属性用来获取或设置网格线的颜色 dataGridView1.GridColor=Color.Blue; 2.设置宽度 .高度 dataGridView1.Columns[].Wi ...
- 最佳实践扩展Windows窗体DataGridView控件 .net 4.5 附示例代码
Windows窗体DataGridView控件的性能调优.net 4.5 在处理大量数据时, DataGridView 控制可以消耗大量的内存开销,除非你仔细地使用它. 在客户有限的内存,你可以避 ...
- [置顶] DataGridView控件---绑定数据方法
DataGridView控件是在windows应用程中显示数据最好的方式,它只需要几行简短的代码就可以把数据显示给用户,同时又支持增.删.改操作.今天将自己总结的增加数据的方法总结分 ...
- DataGridView:DataGridView控件清空绑定的数据
使用DataGridView控件绑定数据后有时需要清空绑定的数据,在清除DataGridView绑定的数据时: 1.设置DataSource为null this.dgvDemo.DataSource ...
- DataGridView控件绑定数据源
前言: 近期听说DataGridView控件能直接绑定数据源.而不用穿越这层那层的忍辱负重.获取数据.真是高兴的屁颠屁颠的.后来一想二狗肯定不会弄.特意写了一个笨蛋版的教程--也算记录生活.欢度端午了 ...
- DataGridVIew控件绑定数据之后的,增、插、删操作
最开始没有绑定数据,很快就实现了增.插.删操作,可是绑定数据之后,进行这些操作就会报错. 网上对这方面的资料比较少,自己摸索着找到了解决方法,也就是直接对绑定的数据进行操作,这里以DataTable为 ...
随机推荐
- 怎样修改自己的登录shell
问题 我只是Linux系统的普通用户,没有权限调用chsh命令修改自己的登录shell. bash-4.1$ chsh --help Usage: chsh [ -s shell ] [ --list ...
- PowerShell【IF篇】
1 [int]$num=0 2 do 3 { 4 $num+=1 5 if($num%2) 6 { 7 "$num"+" 是奇数" 8 }else{ 9 &qu ...
- GORM学习指南
orm是一个使用Go语言编写的ORM框架.它文档齐全,对开发者友好,支持主流数据库. 一.初识Gorm Github GORM 中文官方网站内含十分齐全的中文文档,有了它你甚至不需要再继续向下阅读本文 ...
- 微软的Serialize和Newtonsoft的SerializeObject比较
微软的序列化反序列化组件出来已有好几年了,刚出来的时候各种吐槽.最近在优化代码,比较了一下微软的Serialize和Newtonsoft的SerializeObject,感觉大部分场景下可以用微软的序 ...
- 【记录一个问题】用毫无用处的方法解决了libtask的asm.S在ndk下编译的问题
昨天提到,libtask中的asm.S使用的是ARM 32位的语法,因此在ARM 64下无法编译通过. 于是查了一下资料,改写了一下汇编代码,使得可以在64位下编译通过.源码如下 #if define ...
- Qt之锁
mythread.h: #ifndef MYTHREAD_H #define MYTHREAD_H #include <QObject> #include<QMutex> cl ...
- IoC容器-Bean管理(bean作用域)
IoC操作Bean管理(bean作用域) 1,在Spring里面,设置创建bean实例是单实例还是多实例 2,在Spring里面,默认情况下,bean是单实例对象 3,如何设置单实例还是多实例 (1) ...
- java-异常-原理异常对象的抛出throw
1 class Demo { 2 public static int method(int[] arr,int index) { 3 4 // System.out.println(arr[index ...
- ps -ef aux区别
第一点 -ef是System V展示风格,而aux是BSD风格. BSD风格 字段含义: USER:用户名称 PID:进程号 %CPU:进程占用CPU的百分比 %MEM:进程占用物理内 ...
- JavaScript之详述闭包导致的内存泄露
一.内存泄露 1. 定义:一块被分配的内存既不能使用,也不能回收.从而影响性能,甚至导致程序崩溃. 2. 起因:JavaScript的垃圾自动回收机制会按一定的策略找出那些不再继续使用的变量,释放其占 ...