DataGridView绑定DataTable的正确姿势
1. 将DataTable 绑定到BindingSource
2. 将BindingSource绑定到DataGridView
3. DataGridView修改完要从Datatable取值时,同步过去时,BindingSource和DataGridView两个都要执行EndEdit()
例程:
public partial class Form1 : Form
{
DataTable mTable = new DataTable();
BindingSource mbs = new BindingSource();
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
mTable.Columns.Add("Name",typeof(string));
mTable.Columns.Add("Age", typeof(float));
mTable.Columns.Add("Dept", typeof(string));
mTable.Columns.Add("IsDeleted", typeof(bool));
mTable.Rows.Add("Jack", , "C1", false);
mTable.Rows.Add("Rose", , "C2", false);
mTable.Rows.Add("Tom", , "C1", false);
mTable.Rows.Add("Micky", , "C1", false);
mTable.Rows.Add("Steven Chou", , "C1", false);
mbs.DataSource = mTable;
grd.DataSource = mbs;
} private void BtnDel_Click(object sender, EventArgs e)
{
mTable.Rows.Remove(mTable.Rows[grd.CurrentRow.Index]);
} private void BtnSave_Click(object sender, EventArgs e)
{
grd.EndEdit();
mbs.EndEdit(); int N = mTable.Rows.Count; }
}
DataGridView绑定DataTable的正确姿势的更多相关文章
- angularJs绑定select的正确姿势
最近在项目中使用ionic,需要在页面上绑定一个年份下拉框,默认选中当前年,并且在下拉框的change事件中增加一些业务逻辑. 不管是使用ng-repeat还是ng-options,都是各种坑:默认选 ...
- c# DataGridView绑定DataTable对象之后总会多一行
DataGridView 属性 AllowUserToAddRows = false
- [WinForm] DataGridView 绑定 DT && ComboBox 列绑定 Dict
一 需求介绍 一般像枚举类型的数据,我们在数据库里存储着诸如(1.2.3.4-)或者("001"."002"."003"-)此类,但是界面 ...
- C# Winform中DataGridView绑定后DataGridViewCheckBoxColumn无法显示的问题
在控件DataGridView绑定数据源后,发现DataGridViewCheckBoxColumn不能显示当前的check值.经过一番努力,现将完整代码奉献出来,仅供参考. 错误代码: /*禁止自动 ...
- C# DataGridView绑定数据源的几种常见方式
开始以前,先认识一下WinForm控件数据绑定的两种形式,简单数据绑定和复杂数据绑定. 1. 简单的数据绑定 例1 using (SqlConnection conn = new SqlConnect ...
- DataGridView 绑定 List
DataGridView 绑定 List<T> 不会自动更新 正确方式是将 List<T> 设置为 BindingList<T> 即可 (双向绑定)
- DataSource绑定DataTable.Select()显示system.data.DataRow问题解决的方法
有时候我们须要在控件中绑定DataTable中设定条件过滤后的数据,此时,在winForm环境中,一些控件不能正确绑定并显示数据内容.这是由于DataTable.Select()返回的是DataRow ...
- DataGridView绑定数据源
给DataGridView绑定数据源比較简单,方法主要有两种: 1.直接在控件属性中绑定数据源,这样的方法最简单,但它是直接连接数据库的,这样就和传DataTable的后果差点儿相同了,所以还是尽量避 ...
- Taro 多端开发的正确姿势:打造三端统一的网易严选(小程序、H5、React Native)
笔者所在的趣店 FED 早在去年 10 月份就已全面使用 Taro 框架开发小程序(当时版本为 1.1.0-beta.4),至今也上线了 2 个微信小程序.2 个支付宝小程序. 之所以选用 Taro, ...
随机推荐
- 【POJ】2253 Frogger
= =.请用C++提交.. 如果有朋友能告诉我G++和C++交题什么机制..我感激不尽.G++杀我. 题目链接:http://poj.org/problem?id=2253 题意:青蛙A要去找B约会, ...
- Shiro学习笔记1 —— Hello World
1.创建一个Maven工程加载Shiro的jar包 <!-- junit --> <dependency> <groupId>junit</groupId&g ...
- OC中Nil nil NULL 和 [NSNULL null]的区别
关于这个问题看过两三次了,但是每次过两个月脑袋里又会不清晰,索性记录一下加深一下印象. 一.nil 当一个对象置为nil时,这个对象的内存地址就会被系统收回.置空之后是不能进行retain,copy等 ...
- JS对象 数组连接 concat() 方法用于连接两个或多个数组。此方法返回一个新数组,不改变原来的数组。 语法 arrayObject.concat(array1,array2,.arrayN)
concat() 方法用于连接两个或多个数组.此方法返回一个新数组,不改变原来的数组. 语法 arrayObject.concat(array1,array2,...,arrayN) 参数说明: 注意 ...
- vue-router如何参数传递
1.我们用<router-link>标签中的to属性进行传参,需要您注意的是这里的to要进行一个绑定,写成:to 先来看一下这种传参方法的基本语法: <router-link :to ...
- vue组件参数校验
代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- JMeter 返回Json数据提取方法
JMeter中,对response返回JSON格式的数据进行处理,格式如下: { "code":2000, "message":"success&qu ...
- 二分图建图,并查集求联通——二维等价性传递 cf1012B好题!
/* 模拟二分图:每个点作为一条边,连接的是一列和一行(抽象成一个点,列在左,行在右) 由题意得 a-b相连,a-c相连,b-d相连,那么d-c就不用再相连了 等价于把二分图变成联通的需要再加多少边 ...
- vue+Iview+gulp 生成文档说明
1.安装npm gulp相关插件 比如:gulp.gulp-concat.gulp-htmlmin.gulp-cssmin.gulp-cheerio.gulp-clean 2. 编写gulpfile. ...
- django2 连接mysql实现第一个rest framework
1.安装pymysql,mysqlclient,创建项目django-admin startproject django2 2.settings中把DataBase配置换掉 DATABASES = { ...