DataGridVIew控件绑定数据之后的,增、插、删操作
最开始没有绑定数据,很快就实现了增、插、删操作,可是绑定数据之后,进行这些操作就会报错。
网上对这方面的资料比较少,自己摸索着找到了解决方法,也就是直接对绑定的数据进行操作,这里以DataTable为例。
其中点击事件为DataGridView控件绑定的ContextMenuStrip控件。datatable为全局变量。
1.增加一行
1 private void toolStripMenuItem_AddRow_Click(object sender, EventArgs e)
2 {
3 datatable.Rows.Add();
4
5 //dataGridView_Barcode.Rows.Add();
6 //datatable.Rows.Add();
7 }
2.插入一行
1 private void ToolStripMenuItem_InsertRow_Click(object sender, EventArgs e)
2 {
3 int index = dataGridView_Barcode.CurrentCell.RowIndex;
4
5 DataRow dr = datatable.NewRow();
6 datatable.Rows.InsertAt(dr, index + 1);
7
8 //int index = dataGridView_Barcode.CurrentCell.RowIndex;
9 //dataGridView_Barcode.Rows.Insert(index + 1, 1);
10 }
new一个新的datarow竟然想了很久才找到,哈哈。
3.删除选中的行
1 private void ToolStripMenuItem_DeleteRow_Click(object sender, EventArgs e)
2 {
3
4 int nCounts = dataGridView_Barcode.SelectedRows.Count;
5 for (int i = nCounts - 1; i >= 0; i--)
6 {
7 datatable.Rows.RemoveAt(dataGridView_Barcode.SelectedRows[i].Index);
8 }
9
10 //int nCounts = dataGridView_Barcode.SelectedRows.Count;
11 //for (int i = nCounts - 1; i >= 0; i--)
12 //{
13 // dataGridView_Barcode.Rows.Remove(dataGridView_Barcode.SelectedRows[i]);
14 //}
15
16 }
希望能帮到大家!注释中都是不绑定数据时候的操作。
DataGridVIew控件绑定数据之后的,增、插、删操作的更多相关文章
- [置顶] DataGridView控件---绑定数据方法
DataGridView控件是在windows应用程中显示数据最好的方式,它只需要几行简短的代码就可以把数据显示给用户,同时又支持增.删.改操作.今天将自己总结的增加数据的方法总结分 ...
- DataGridView控件绑定数据之后,置顶操作
一个小小的置顶,就搞了半个小时,还是记录一下吧. 1.第一个问题就是datatable的插入只能是Insert DataRow,但是获取选中的行,都是DataGridViewRow,不能直接转换. 找 ...
- C# DataGridView控件绑定数据后清空数据
//1.this.dataGridView1.DataSource = null;//会将DataGridView的列也删掉 //2.this.dataGridView1.Columns.Clear( ...
- C# DataGridView控件清空数据完美解决方法
C# DataGridView控件绑定数据后清空数据在清除DataGridview的数据时: 1.DataSource为NULL(DataGridView.DataSource= null;)这样会将 ...
- 转:C# DataGridView控件清空数据出错解决方法
C# DataGridView控件绑定数据后清空数据在清除DataGridview的数据时: 1.DataSource为NULL(DataGridView.DataSource= null;)这样会将 ...
- 在aspx页动态加载ascx页面内容,给GridView控件绑定数据
在aspx页动态加载ascx页面内容 //加载ascx页面内容Control c1 = this.Page.LoadControl("WebUserControl1.ascx"); ...
- DataGridView控件绑定数据源
前言: 近期听说DataGridView控件能直接绑定数据源.而不用穿越这层那层的忍辱负重.获取数据.真是高兴的屁颠屁颠的.后来一想二狗肯定不会弄.特意写了一个笨蛋版的教程--也算记录生活.欢度端午了 ...
- 将C#datagridview控件的数据导出到Excel中
1.添加引用Microsoft.Office.Interop.Excel. 2.程序代码引用using Excel = Microsoft.Office.Interop.Excel; 3.控件事件代码 ...
- DataGridView控件添加数据时空白的可 错误情况
写一个小程序,将数据库中的两张表相关信息显示在DataGridView中.代码如下: //获取项目数据,添加到表中 SqlConnection con = new SqlConnection(Main ...
随机推荐
- JS:object
object:对象 1.对象是拥有属性和方法的数据,也是一个变量,但值有多个,以key-value的形式. 2.对象有继承属性: 每当创建一个对象,对象里面就会有一个原型对象prototype,可以从 ...
- 如何使用lerna进行多包(package)管理
为什么要用lerna 将大型代码仓库分割成多个独立版本化的 软件包(package)对于代码共享来说非常有用.但是,如果某些更改 跨越了多个代码仓库的话将变得很 麻烦 并且难以跟踪,并且, 跨越多个代 ...
- 记安装AWVS14过程踩的坑
由于之前的AWVS14用着用着无法扫描了,一扫就是失败,一气之下就重装系统了.重装系统后发现安装还是不行,折腾了好久,终于找到方法了. 安装acunetix_14.1.210324124.exe 没啥 ...
- Error: $injector:modulerr Module Error
Failed to instantiate module app due to://实例化失败 Error: [$injector:modulerr] http://errors.angularjs. ...
- 理解 Python 的 for 循环
在本篇博客中,我们将讨论 Python 中 for 循环的原理. 我们将从一组基本例子和它的语法开始,还将讨论与 for 循环关联的 else 代码块的用处. 然后我们将介绍迭代对象.迭代器和迭代器协 ...
- C# Winform程序界面优化实例
进入移动互联网时代以来,Windows桌面开发已经很久不碰了.之前就是从做Windows开发入行的. 当年,还是C++ VC6, MFC的时代.那时候开发要查的是MSDN :-).内存要自己管理, 排 ...
- 10.2 如何运行Android项目到Android Studio自带模拟器
Android开发一般都可以将应用运行到模拟器查看效果,除非特殊项目要用到真机,所以我们这里先讲解如何将项目运行到模拟器,以校验我们的开发环境以及创建的项目是否有问题. 创建模拟器 点击"C ...
- C语言求100以内的和的4种方式
C语言的一个很经典的例子,帮助熟练运行几个循环的写法 * 方法一(do---while语句) #include main () { int i,sum=0; do { sum=sum+i; i++; ...
- UML图记忆技巧
什么是UML类图 Class Diagram:用于表示类.接口.实例等之间相互的静态关系 虽然名字叫类图,但类图中并不只有类 记忆技巧 UML箭头方向: 从子类指向父类 我相信 很多同学都会有和我一样 ...
- Java开发学习(八)----IOC/DI配置管理第三方bean、加载properties文件
前面的博客都是基于我们自己写的类,现在如果有需求让我们去管理第三方jar包中的类,该如何管理? 一.案例:数据源对象管理 本次案例将使用数据源Druid和C3P0来配置学习下. 1.1 环境准备 学习 ...