C#用DataGirdViewCell添加行出现Bug。求winform大牛、老司机帮忙解决下。

问题button事件源码,IDE提示:集合已属于 DataGridView 控件。此操作不再有效
SQLiteCommand commandInsert = null;
SQLiteCommand commandSelect = null;
string dataBaseTableName = "FileValueNote";
SQLiteDataReader dr = null;
DirectoryInfo dirInfo = new DirectoryInfo(@"F:\XTLBB3D");
private void button1_Click(object sender, EventArgs e)
{
SQLiteConnection m_dbConnection = new SQLiteConnection("Data Source=CeShiDatabase.sqlite;Version=3;");
m_dbConnection.Open();
int i = 0;
//遍历指定某目录下的所有文件
foreach (FileInfo NextFile in dirInfo.GetFiles())
{
i += 1;
string sqlInsert = "insert into " + dataBaseTableName + " (Id,FileName,FileAbsolutePath) values ('" + i + "', '" + NextFile.Name + "', '" + NextFile.FullName + "')";
commandInsert = new SQLiteCommand(sqlInsert, m_dbConnection);
commandInsert.ExecuteNonQuery();
}
//遍历指定某目录下,所有子目录下的所有文件
foreach (DirectoryInfo NextDirectory in dirInfo.GetDirectories()) // 首先获取遍历子文件夹
{
foreach (FileInfo NextFile in NextDirectory.GetFiles())
{
i += 1;
string sqlInsert = "insert into " + dataBaseTableName + " (Id,FileName,FileAbsolutePath) values ('" + i + "', '" + NextFile.Name + "', '" + NextFile.FullName + "')";
commandInsert = new SQLiteCommand(sqlInsert, m_dbConnection);
commandInsert.ExecuteNonQuery();
}
}
DataGridViewColumn dgvc1 = new DataGridViewCheckBoxColumn();
dataGridView2.Columns.Add(dgvc1);
dgvc1.Name = "dgvc1";
dgvc1.HeaderText = "标记栏";
dgvc1.DataGridView.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
DataGridViewColumn dgvc2 = new DataGridViewTextBoxColumn();
dataGridView2.Columns.Add(dgvc2);
dgvc2.Name = "dgvc2";
dgvc2.HeaderText = "序号";
dgvc2.DataGridView.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
DataGridViewColumn dgvc3 = new DataGridViewTextBoxColumn();
dataGridView2.Columns.Add(dgvc3);
dgvc3.Name = "dgvc3";
dgvc3.HeaderText = "文件名";
dgvc3.DataGridView.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
DataGridViewColumn dgvc4 = new DataGridViewTextBoxColumn();
dataGridView2.Columns.Add(dgvc4);
dgvc4.Name = "dgvc4";
dgvc4.HeaderText = "文件绝对路径";
dgvc4.DataGridView.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
string sqlSelect = "SELECT * FROM " + dataBaseTableName + ";";
commandSelect = new SQLiteCommand(sqlSelect, m_dbConnection);
dr = commandSelect.ExecuteReader();
DataGridViewRow row = new DataGridViewRow();
int temp = 0;
while (dr.Read())
{
temp += 1;
DataGridViewCell checkBoxCell = new DataGridViewCheckBoxCell();
row.Cells.Add(checkBoxCell);
DataGridViewCell idCell = new DataGridViewTextBoxCell();
idCell.Value = temp.ToString();
row.Cells.Add(idCell);
DataGridViewCell fileNameCell = new DataGridViewTextBoxCell();
fileNameCell.Value = dr["FileName"].ToString();
row.Cells.Add(fileNameCell);
DataGridViewCell absolutePathCell = new DataGridViewTextBoxCell();
fileNameCell.Value = dr["FileAbsolutePath"].ToString();
row.Cells.Add(absolutePathCell);
dataGridView2.Rows.Add(row);
}
MessageBox.Show("文件夹所有文件已输出");
}
图片说明

0

1个回答

不能设置绑定数据源为sqlite数据库,因为要每行多定义一列复选框。添加行时既添加一个复选框又要刷新绑定数据源会报错的(datagridview被绑定时不能手动添加)

1
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Bugku之秋名山老司机
秋名山老司机 需要在2s内计算出来并提交,这个通过人工是不可能的,所以只能通过自己写脚本来计算并立即提交。 脚本如下也带有注释: import re import requests s = requests.Session() r = s.get("http://120.24.86.145:8002/qiumings...
bagku秋名山老司机
看题目,要求两秒内计算数值,发回去,获得flag,于是写脚本实现   import requests import re url = "http://120.24.86.145:8002/qiumingshan/" s = requests.Session()#必须利用会话对象 Session(),否则提交结果的时候,页面又重新生成一个新的表达式, source = s.get(u...
Bug-CTF-秋名山老司机(正则匹配)
题目: 没有啥思路,意外地刷新了一下页面,发现数值变化了 再刷新一次试试,出来一个提示,大概意思是需要提交结果,这里也不知道该怎么传参,也不晓得怎么写这个脚本,只能参考其他大佬的思路了 解题:        查看其他大佬的解题思路都是大概都是写了一个正则,然后计算结果进行get提交,由于没有学习过正则表达式,只能现学现卖了。 http://deerchao.net/tuto...
CTF之Bugku 秋名山老司机+python脚本代码解析
第一次写python脚本,之前完全不懂脚本运行的原理,寒假学了javaWEB才有点明白,有些脚本的题也可以做了。 先贴上这道题的脚本: import requests import re url='http://123.206.87.240:8002/qiumingshan/' r = requests.session() requestpage = r.get(url) ans = re.fin...
Bugku - 秋名山老司机
  emm鬼算得出来。。。   import re import requests s = requests.Session() r = s.get("http://120.24.86.145:8002/qiumingshan/") searchObj = re.search(r'^<div>(.*)=\?;</div>$', r.text, re.M | r...
【BugkuCTF】Web--秋名山老司机
Description: http://123.206.87.240:8002/qiumingshan/ 是不是老司机试试就知道。 Solution: 打开网页 2秒解决问题真是稳稳的写脚本……但是不知道提交啥,刷新网页看看提示让用POST方式传递一个value变量,构造脚本 import requests import re url = 'http://123.206.87.240:80...
bugKuctf-秋名山老司机
bugKuctf-秋名山老司机欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 ...
秋名山老司机 (Bugku) re库和request库
尝试写的第一个python脚本……之前一直只会用工具(不,有的工具也还不会用……)可以说是很神奇了 先贴上代码: import requests import re url='http://120.24.86.145:8002/qiumingshan/' r=requests.session() requestpage = r.get(url) ans=re.findall('<div...
BugkuCTF: 秋名山老司机(web)
题目描述: 亲请在2s内计算老司机的车速是多少 1565348110-1585852319+1424136689-501596850-364488737*872756914-663618483-1120007195*1119001272-1463806595*1200528853=?; 在两秒内刷新页面后会出现提示让提交计算出来的值,且url没有变化,表明确实要两秒内提交 Give me va...
老司机私藏资源分享,可以说一个比一个优质
无论你是职场老司机还是生活中的老司机,相信你都有自己私藏可以说是经常使用的资源,包括各种图库,学习资源,灵感资源等等 这里小编就和大家分享私藏的网站资源,特别是对于设计制图都是有很多的帮助,那么废话就不说多了,下面就一起看看吧。 UI-中国 这绝对是设计者的福音,没有灵感的时候看看,对于灵感的启发十分的有效,就算你不是学习UI设计,看看也是有收获,提升自己的审美,制作PPT的很多小伙伴会...
bugku-秋名山老司机
这道题,存粹是为了练习python 首先打开题目链接我们可以发现,页面提示在两秒内要返回那一串数字的计算结果,显然,人类是很难做到的 这道题我看了下好多人都是正则表达式直接匹配出来的,不过我对正则不太熟悉,所以就用 requests 加 BeautifulSoup4 做的 不太熟悉的可以看下官方文档 BeautifulSoup4: https://beautifulsoup.readth...
最新phpV9,懂的老司机进入
安全
老司机带你get海量网页请求数据
老司机带你到web请求的数据中飞一会
bugku 秋名山老司机 以及 hackinglab 快速口算
秋名山老司机 100 http://120.24.86.145:8002/qiumingshan/ 是不是老司机试试就知道。 题目要求2s内计算一个算式并提交结果,用python写一个脚本如下 import re import requests url="http://120.24.86.145:8002/qiumingshan/" s=requests.Session() respo...
老司机代码
一、ScrollView中的TextView添加滚动条监听事件(解决滑动监听冲突) textView = (TextView) findViewById(R.id.info_desc); textView.setMovementMethod(ScrollingMovementMethod.getInstance()); textView.setOnTouchListener(new Vie
bugku 秋名山老司机
思路 根据要求,2s内计算出结果即可得到flag,上python 题解 import requests import re url="http://123.206.87.240:8002/qiumingshan/" r=requests.session() text=r.get(url).text #将get到的数据以文本形式显示出来 cont=re.findall('<div>(.*...
关于C#winform中tableLayoutPanel动态删除和动态加载一行
首先尝试了tableLayputPanel中添加和删除控件的操作,主要参考了代码: http://www.cnblogs.com/freeliver54/archive/2009/02/25/1327309.html 但是项目的目的是必需动态地添加和删除,添加并且是固定,绘制的panel ?
C#中/winform中,给已经绑定数据的datagridview后台动态添加新行
说明:因为没有找到相关资料博客,所以暂定为原创,如果已经有了,请告知,并非刻意 在datagrid中,添加行有两种形式(我知道的) 第一种:修改datasource,直接修改绑定的datatable数据源,然后重新绑定到datagrid中。我们在添加行时,更新datatable即可,这一种很简单,不做太多描述,网上资料很多,请自行查阅 第二种:即我们在添加数据时,需要在后台动态的给d
老司机总结的Jq插件,挺不错的,跟大家分享一下
jQuery Flexslider:响应式 jQuery 内容滚动插件 Flexslider(jquery.flexslider.js)是一款轻量的响应式基于jQuery的内容滚动插件。Flexslider能够帮助你在项目轻松的创建漂亮的内容滚动效果。这款插件曾经连续多年入选 WDL 的年度最佳 jQuery 插件,值得大家在网站开发中试试。它能让你轻松的创建内容滚动的效果,具有非常高的可定制性。开发者可以使用Flexslider轻松创建各种图片轮播效果、焦点图效果、图文混排滚动效果。
GeoMatch_src(VS2015+OpenCv3.3版)
GeoMatch_src(VS2015+OpenCv3.3版本) 针对https://www.codeproject.com/KB/graphics/Edge_Based_template_match/GeoMatch_src.zip 源码,在Vs2015+opencv3.3 环境下,修改调试ok
老司机教你怎样下载电影
老司机要开车了!dkplus专业搜集和编写实用电脑软件教程,搜集各种软件资源和计算机周边,独立制作视频和ppt和音频微信公众号,点击进入 [dkplus官方博客](http://dkplus.iteye.com) (java网络编程http://dkplus.iteye.com),微信搜索dkplus关注公众号可获取海量计算机周边资源。
datagridview 手动添加行数据
我在做软件模型界面时,通过功能按钮触发显示的datagridview中,为了方便,需要一些数据,仅写死数据就可以了,因此,不需要连接数据表,直接添加行就可以了。代码如下: int index = this.dataGridView1.Rows.Add(); this.dataGridView1.Rows[index].Cells[0].Value = "1";
秋名山老司机
题目链接:http://120.24.86.145:8002/qiumingshan/ 貌似是新题,网上没找到wp,自己写一份(第一次写writeup) 首先进入会显示如下页面: emmmm,再次刷新会变成这样: 隔一段时间再刷新会变成新的表达式。 先按着他的意思试试,用python构造脚本如下: import requests import re url='http:
adapter 重写
各种重写Adapter都会出现些问题,同样的我也遇到了!求大师帮忙解决
C# 解决双击TreeView表里checkbox本身Bug问题
一个WinForm的TreeView,某node的CheckBox初始状态为false,当双击这个node的checkbox时,会出现很奇怪的情况: 第一次双击checkbox,checkbox显示的状态会切换两次状态,unchecked-> checked-> unchecked,而AfterCheck事件仅触发一次,在AfterCheck事件中获取到的checkbox状态为checked。在这里checkbox状态已经和显示状态不一致了 以后每次双击,checkbox显示的状态会出现一次切换,AfterCheck也会触发一次,并且checkbox显示的状态和值的状态仍然保持相反。 除上面这个问题外,还有一点,当双击treeview 的checkbox后,如果再去单击或双击该界面中除这个treeview外的任何部分,系统会忽略第一次点击事件。举例来说,一个窗口中,有一个treeview,还有一个ok按钮,当我双击这个treeview的一个checkbox后,再去点那个ok按钮,第一次点击是没有任何作用的,第二次以及以后的点击才会有效,包括点击最大化,最小化,以及关闭这种系统按钮。 为了解决以上问题,我重写了TreeView控件,在不影响其它地方的前提下,能很好的解决以上问题。我的环境:.Net framework4.0 + VS2005 + Win7 编译通过,并付执行程序。-
C# winform 關於刪除或插入datagridview指定行的問題
1.在指定行插入一個新行 查了網絡上的資料,有的說需要遍歷datagridview來移動數據 我在實際操作中并不需要如此 在指數據定行插入如下即可,後面的數據會自動下移一行 ccDataGridView1.Rows.Insert(ccDataGridView1.CurrentRow.Index); 還可以對插入的位置進行指定,也可以同時賦值插入 2.刪除當前行 那更簡單了,同上  ...
老司机,发车了。 从这里发车第一时间锁定目标(2018年12月7日更新)
Linux相关博文地址: ubuntu16.04如何在无网络环境安装软件 详解mpstat、iostat、sar、vmstat命令的使用 教你使用Siri删库到跑路走向人生巅峰 集群服务架构几类的工作原理《转载》 Zabbix实战篇(一步步带你到邮件报警) Zabbix3.4.8监控硬件及服务(详解)一 分享一个纯内网搭建zabbix3.4的脚本-比较基础-作为留念~~~ 同步和异步的区别? C...
C# Winform程序闪屏问题(完美解决)
前言: 今天在项目中遇到一个优化项问题,登录界面在Tab切换输入框时整个界面出现了闪动的问题,找了半天并且调试也没有发现问题原因,于是度之~ 问题描述: Winform程序界面切换闪屏。 问题解决: 将下面的代码复制到父窗体任意位置 protected override CreateParams CreateParams { get { CreateParams cp = b...
对网页的源码逐行解析,顺便学习
<html style=""><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">//这里的是设置编码,跟我不搭嘎<meta http-equiv="X-UA-Compatible" content="IE=edge"&
Java人员高效率解决BUG
常见的问题,处理好记录下来方便后期查找类似问题, 查看API文档 查看官方的API文档可以帮助你更好更快的掌握和使用一个工具类或者框架, 查看官方API文档可以帮助解决80%开发中遇到的问题 剩余的20%都可以GOOGLE得到想要的答案。 采用高效的分析工具, 例如JMC,Java Visual VM ,可以分析程序的CPU,内存,线程等, 这些工具可以用来定位不易发现的内存泄漏问题...
【Python3】【老司机系列】日本dmm网站抓取(一)
长夜漫漫,无心睡眠,您还在漫无目的地找片嘛,您还在手忙较短地查封面嘛,您还在为某些小网站上铺天盖地的小广告发愁嘛……岛国DMM网站,干净清爽,是您按图(番号)神秘代码查找“样片”的好地方。 …… 本文介绍了抓取dmm网站的第一步,抓取メーカーid的方法。
老司机必备软件:磁力资源搜索助手 v19.06.24 最新版本
老司机必备软件:磁力资源搜索助手 v19.06.24 最新版本 这是一款全网多渠道磁力资源搜索神器,最新最全的影视资源都能搜索到。软件绿色免安装,无广告无插件,解压即用,满足不同需求用户的不同要求!搜索到链接后,支持一键复制,配合迅雷等各种下载软件即可实现免费、高速下载! 也可以通过IDM或FDM进行链接的高速下载,IDM和FDM在本人主页上传资源界面可见。 视频囊括 爱奇艺、优酷、腾讯等主流平台,VIP收费电影也能免费获取!!!网络资源的酸爽,侵删! 如有问题,请联系2772658830@qq.com。
比目鱼老司机专用软件
老司机专用软件,网罗天下资源,一招在手资源我有,哇哈哈哈哈
noip 模拟赛 老司机的彩虹桥
老司机的彩虹桥 rainbow.cpp/.c/.pas 题目描述: 自从老司机有了好多好多小司姬之后,老司机就造了一个好大好大的房子; 因为老司机非常的6,这个房子不在地上而在天上! 我们可以将这个房子抽象成n片云朵和n-1条彩虹,每一条彩虹上都住着一个小司姬,当然了,所有云朵是由这些彩虹连通的树哦; 现在老司机想去探望所有老司机的小司姬,但是麻烦的是,他并不能进到小司姬的房间里——也...
老司机直播盒子源码可开启卡密售卖
老司机直播盒子源码可开启卡密售卖.
PN532工具V3.0老司机的店版本,nfc上位机工具
PN532工具V3.0老司机的店版本,nfc上位机工具,只能用于学习研究,否则后果自负。
C# dgv添加行号的一种方法
//添加行号另一个方法         //private void dgvStudentList_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e)         //{         //    e.Row.HeaderCell.Value = (e.Row.Index + 1).ToStrin
老司机开车
http://www.xuetangx.com/
(PN532)pl2303NFC上位机 NFC资料3(IC/ID/UID卡复制软件)老司机的店的第三版 201906可用【带软件、教程、驱动】
NFC_READER程序 (PN532)pl2303NFC上位机 NFC资料3(IC/ID/UID卡复制软件)老司机的店的第三版 201906可用【带软件、教程、驱动】 ACR122U-A9|NFC老司机|PM3对防解密|防破解门禁卡电梯卡进行解密测试用 卡片类型扫描: PN532可以支持: ISO14443A 类卡 Felica 类卡 ISO14443B 类卡 ISO14443B' 类卡 ISO14443B-2 ST SRx family 类卡 ISO14443B-2 ASK CTx family 类卡 Jewel 类卡
c#当控件被数据绑定时,无法以编程方式向 DataGridView 的行集合中添加行。
这种报错的情况是出现在 this.dataGridView1.DataSource = this.Dtb_Data; 你已经对datagirdview绑定数据源的情况下但是你又想通过dataRow来添加数据,那这种情况下怎么办呢? 你可以通过一连这一句把你赋好值的datarow赋到datagirdview里 ((DataTable)dataGridView1.DataSource).Row...
相关热词 c#异步发送kafka c#窗体编号 c# 操作二进制文件 c# 反射 机制 c#线程 窗体失去响应 c#角度转弧度 c# 解析gps数据 c# vs设置 语法版本 c# json含回车 c#多线程demo