应用办公生活信息教育商业
投稿投诉
商业财经
汽车智能
教育国际
房产环球
信息数码
热点科技
生活手机
晨报新闻
办公软件
科学动态
应用生物
体育时事

datagridview根据指定单元格内容更新其它单元格内容

  一直想写一个比较完善的datagridview的更新数据函数,今天终于写了一下,没有太多优化,测试运行正常。
  主要功能就是根据列索引,列索引集合中的值,或列名,列名集合中的值来更新指定索引,索引集合或列名,列名集合中的单元格的值。中心思想就是你既可以用索引来限定查找范围,也可以用列名来限定查找范围,效果如下
  函数代码有点多,我贴在这里,不用使用是非常简单的,在后面我会详细说明:summary根据指定条件更新指定内容summaryparamnamemygvDataGridView的IDparamparamnameFindColumnInfo条件列,可以是int,string,int〔〕,string〔〕paramparamnameFindColumnValue条件列的值paramparamnameUpdateColumnInfo更新列paramparamnameUpdateColumnValue更新值parampublicvoidUpdateDatas(DataGridViewmygv,objectFindColumnInfo,objectFindColumnValue,objectUpdateColumnInfo,objectUpdateColumnValue){intUpdateColumnsCount0;string〔〕UpdateValues;intDataRowCountmygv。Rows。Count;if(DataRowCount0){return;}stringUpdateColumnInfoTypeUpdateColumnInfo。GetType()。Name。ToLower();switch(UpdateColumnInfoType){caseint32:结果1列,参数是索引region结果1列,参数是索引intUpdateColumnIndexint(int)UpdateColumnInfo;if(FindColumnInfonull){for(inti0;iDataRowCount;i){mygv。Rows〔i〕。Cells〔UpdateColumnIndexint〕。ValueUpdateColumnValue。ToString();}}else{string〔〕FindColumnValues;boolok;stringFindColumnInfoTypeFindColumnInfo。GetType()。Name。ToLower();switch(FindColumnInfoType){caseint32:对比列1列,参数为索引intFindColumnIndex(int)FindColumnInfo;for(inti0;iDataRowCount;i){objectvalueobjmygv。Rows〔i〕。Cells〔FindColumnIndex〕。Value;if(valueobj!null){if(valueobj。ToString()FindColumnValue。ToString()){mygv。Rows〔i〕。Cells〔UpdateColumnIndexint〕。ValueUpdateColumnValue。ToString();}}}break;caseint32〔〕:对比列多列,参数为索引int〔〕FindColumnIndexs(int〔〕)FindColumnInfo;FindColumnValues(string〔〕)FindColumnValue;intlensintFindColumnIndexs。Length;for(inti0;iDataRowCount;i){oktrue;for(intj0;jlensint;j){objectvalueobjmygv。Rows〔i〕。Cells〔FindColumnIndexs〔j〕〕。Value;if(valueobj!null){if(valueobj。ToString()!FindColumnValues〔j〕){okfalse;break;}}}if(ok){mygv。Rows〔i〕。Cells〔UpdateColumnIndexint〕。ValueUpdateColumnValue。ToString();}}break;casestring:对比列1列,参数为列名stringFindColumnName(string)FindColumnInfo;for(inti0;iDataRowCount;i){objectvalueobjmygv。Rows〔i〕。Cells〔FindColumnName〕。Value;if(valueobj!null){if(valueobj。ToString()FindColumnValue。ToString()){mygv。Rows〔i〕。Cells〔UpdateColumnIndexint〕。ValueUpdateColumnValue。ToString();}}}break;casestring〔〕:对比列多列,参数为列名string〔〕FindColumnNames(string〔〕)FindColumnInfo;FindColumnValues(string〔〕)FindColumnValue;intlensstrFindColumnNames。Length;for(inti0;iDataRowCount;i){oktrue;for(intj0;jlensstr;j){objectvalueobjmygv。Rows〔i〕。Cells〔FindColumnNames〔j〕〕。Value;if(valueobj!null){if(valueobj。ToString()!FindColumnValues〔j〕){okfalse;break;}}}if(ok){mygv。Rows〔i〕。Cells〔UpdateColumnIndexint〕。ValueUpdateColumnValue。ToString();}}break;default:break;}}endregionbreak;caseint32〔〕:结果多列,参数是索引region结果多列,参数索引int〔〕UpdateColumnIndexsint(int〔〕)UpdateColumnInfo;UpdateValues(string〔〕)UpdateColumnValue;UpdateColumnsCountUpdateColumnIndexsint。Length;if(FindColumnInfonull){for(inti0;iDataRowCount;i){for(intj0;jUpdateColumnsCount;j){mygv。Rows〔i〕。Cells〔UpdateColumnIndexsint〔j〕〕。ValueUpdateValues〔j〕;}}}else{string〔〕FindColumnValues;boolok;stringFindColumnInfoTypeFindColumnInfo。GetType()。Name。ToLower();switch(FindColumnInfoType){caseint32:对比列1列,参数为索引intFindColumnIndex(int)FindColumnInfo;for(inti0;iDataRowCount;i){objectvalueobjmygv。Rows〔i〕。Cells〔FindColumnIndex〕。Value;if(valueobj!null){if(valueobj。ToString()FindColumnValue。ToString()){for(intj0;jUpdateColumnsCount;j){mygv。Rows〔i〕。Cells〔UpdateColumnIndexsint〔j〕〕。ValueUpdateValues〔j〕;}}}}break;caseint32〔〕:对比列多列,参数为索引int〔〕FindColumnIndexs(int〔〕)FindColumnInfo;FindColumnValues(string〔〕)FindColumnValue;intlensintFindColumnIndexs。Length;for(inti0;iDataRowCount;i){oktrue;for(intj0;jlensint;j){objectvalueobjmygv。Rows〔i〕。Cells〔FindColumnIndexs〔j〕〕。Value;if(valueobj!null){if(valueobj。ToString()!FindColumnValues〔j〕){okfalse;break;}}}if(ok){for(intj0;jUpdateColumnsCount;j){mygv。Rows〔i〕。Cells〔UpdateColumnIndexsint〔j〕〕。ValueUpdateValues〔j〕;}}}break;casestring:对比列1列,参数为列名stringFindColumnName(string)FindColumnInfo;for(inti0;iDataRowCount;i){objectvalueobjmygv。Rows〔i〕。Cells〔FindColumnName〕。Value;if(valueobj!null){if(valueobj。ToString()FindColumnValue。ToString()){for(intj0;jUpdateColumnsCount;j){mygv。Rows〔i〕。Cells〔UpdateColumnIndexsint〔j〕〕。ValueUpdateValues〔j〕;}}}}break;casestring〔〕:对比列多列,参数为列名string〔〕FindColumnNames(string〔〕)FindColumnInfo;FindColumnValues(string〔〕)FindColumnValue;intlensstrFindColumnNames。Length;for(inti0;iDataRowCount;i){oktrue;for(intj0;jlensstr;j){objectvalueobjmygv。Rows〔i〕。Cells〔FindColumnNames〔j〕〕。Value;if(valueobj!null){if(valueobj。ToString()!FindColumnValues〔j〕){okfalse;break;}}}if(ok){for(intj0;jUpdateColumnsCount;j){mygv。Rows〔i〕。Cells〔UpdateColumnIndexsint〔j〕〕。ValueUpdateValues〔j〕;}}}break;default:break;}}endregionbreak;casestring:region结果1列,参数是列名stringUpdateColumnIndexstr(string)UpdateColumnInfo;if(FindColumnInfonull){for(inti0;iDataRowCount;i){mygv。Rows〔i〕。Cells〔UpdateColumnIndexstr〕。ValueUpdateColumnValue。ToString();}}else{string〔〕FindColumnValues;boolok;stringFindColumnInfoTypeFindColumnInfo。GetType()。Name。ToLower();switch(FindColumnInfoType){caseint32:对比列1列,参数为索引intFindColumnIndex(int)FindColumnInfo;for(inti0;iDataRowCount;i){objectvalueobjmygv。Rows〔i〕。Cells〔FindColumnIndex〕。Value;if(valueobj!null){if(valueobj。ToString()FindColumnValue。ToString()){mygv。Rows〔i〕。Cells〔UpdateColumnIndexstr〕。ValueUpdateColumnValue。ToString();}}}break;caseint32〔〕:对比列多列,参数为索引int〔〕FindColumnIndexs(int〔〕)FindColumnInfo;FindColumnValues(string〔〕)FindColumnValue;intlensintFindColumnIndexs。Length;for(inti0;iDataRowCount;i){oktrue;for(intj0;jlensint;j){objectvalueobjmygv。Rows〔i〕。Cells〔FindColumnIndexs〔j〕〕。Value;if(valueobj!null){if(valueobj。ToString()!FindColumnValues〔j〕){okfalse;break;}}}if(ok){mygv。Rows〔i〕。Cells〔UpdateColumnIndexstr〕。ValueUpdateColumnValue。ToString();}}break;casestring:对比列1列,参数为列名stringFindColumnName(string)FindColumnInfo;for(inti0;iDataRowCount;i){objectvalueobjmygv。Rows〔i〕。Cells〔FindColumnName〕。Value;if(valueobj!null){if(valueobj。ToString()FindColumnValue。ToString()){mygv。Rows〔i〕。Cells〔UpdateColumnIndexstr〕。ValueUpdateColumnValue。ToString();}}}break;casestring〔〕:对比列多列,参数为列名string〔〕FindColumnNames(string〔〕)FindColumnInfo;FindColumnValues(string〔〕)FindColumnValue;intlensstrFindColumnNames。Length;for(inti0;iDataRowCount;i){oktrue;for(intj0;jlensstr;j){objectvalueobjmygv。Rows〔i〕。Cells〔FindColumnNames〔j〕〕。Value;if(valueobj!null){if(valueobj。ToString()!FindColumnValues〔j〕){okfalse;break;}}}if(ok){mygv。Rows〔i〕。Cells〔UpdateColumnIndexstr〕。ValueUpdateColumnValue。ToString();}}break;default:break;}}endregionbreak;casestring〔〕:region结果多列,参数列名string〔〕UpdateColumnIndexsstr(string〔〕)UpdateColumnInfo;UpdateValues(string〔〕)UpdateColumnValue;UpdateColumnsCountUpdateColumnIndexsstr。Length;if(FindColumnInfonull){for(inti0;iDataRowCount;i){for(intj0;jUpdateColumnsCount;j){mygv。Rows〔i〕。Cells〔UpdateColumnIndexsstr〔j〕〕。ValueUpdateValues〔j〕;}}}else{string〔〕FindColumnValues;boolok;stringFindColumnInfoTypeFindColumnInfo。GetType()。Name。ToLower();switch(FindColumnInfoType){caseint32:对比列1列,参数为索引intFindColumnIndex(int)FindColumnInfo;for(inti0;iDataRowCount;i){objectvalueobjmygv。Rows〔i〕。Cells〔FindColumnIndex〕。Value;if(valueobj!null){if(valueobj。ToString()FindColumnValue。ToString()){for(intj0;jUpdateColumnsCount;j){mygv。Rows〔i〕。Cells〔UpdateColumnIndexsstr〔j〕〕。ValueUpdateValues〔j〕;}}}}break;caseint32〔〕:对比列多列,参数为索引int〔〕FindColumnIndexs(int〔〕)FindColumnInfo;FindColumnValues(string〔〕)FindColumnValue;intlensintFindColumnIndexs。Length;for(inti0;iDataRowCount;i){oktrue;for(intj0;jlensint;j){objectvalueobjmygv。Rows〔i〕。Cells〔FindColumnIndexs〔j〕〕。Value;if(valueobj!null){if(valueobj。ToString()!FindColumnValues〔j〕){okfalse;break;}}}if(ok){for(intj0;jUpdateColumnsCount;j){mygv。Rows〔i〕。Cells〔UpdateColumnIndexsstr〔j〕〕。ValueUpdateValues〔j〕;}}}break;casestring:对比列1列,参数为列名stringFindColumnName(string)FindColumnInfo;for(inti0;iDataRowCount;i){objectvalueobjmygv。Rows〔i〕。Cells〔FindColumnName〕。Value;if(valueobj!null){if(valueobj。ToString()FindColumnValue。ToString()){for(intj0;jUpdateColumnsCount;j){mygv。Rows〔i〕。Cells〔UpdateColumnIndexsstr〔j〕〕。ValueUpdateValues〔j〕;}}}}break;casestring〔〕:对比列多列,参数为列名string〔〕FindColumnNames(string〔〕)FindColumnInfo;FindColumnValues(string〔〕)FindColumnValue;intlensstrFindColumnNames。Length;for(inti0;iDataRowCount;i){oktrue;for(intj0;jlensstr;j){objectvalueobjmygv。Rows〔i〕。Cells〔FindColumnNames〔j〕〕。Value;if(valueobj!null){if(valueobj。ToString()!FindColumnValues〔j〕){okfalse;break;}}}if(ok){for(intj0;jUpdateColumnsCount;j){mygv。Rows〔i〕。Cells〔UpdateColumnIndexsstr〔j〕〕。ValueUpdateValues〔j〕;}}}break;default:break;}}endregionbreak;default:break;}}例子中我主要是更改了被选中行的第2、3个单元格的值
  目的:更新,第1、3列值为11、1text的行的第2、3列值为999,2222
  代码:要查找的列索引,你也可以直接用string〔〕指定列名int〔〕indexsnewint〔〕{0,2};这些列索引中指定的值string〔〕findvaluenewstring〔〕{11,1text};要更新的列索引,同样可以用string〔〕指定列名int〔〕uindexsnewint〔〕{1,2};这些要更新的单元格的值string〔〕ufindvaluenewstring〔〕{999,2222};UpdateDatas(dataGridView1,indexs,findvalue,uindexs,ufindvalue);

华为nova10和nova10Pro问世,华为nova9跌至7月4日,华为发布了两款中端智能手机nova10和nova10Pro,售价在3000元左右。这两款中端手机最大的特点就是自拍摄像头,采用60MP摄像头。可能对于喜欢华为手机的朋……玉渊潭的荷花美翻了!满屏都是夏天的味道要说夏季最美的风景荷花绝对当之无愧玉渊潭公园也迎来了一年中最美的花季玉渊潭公园碧波荡漾荷叶田田荷花正悄然绽放空气中透着淡淡的荷香远远望……上了年纪的男人,尽量少穿这3种老气色,多穿这些减龄色上了年纪的男人在穿衣方面更应该讲究一些,无论是男生还是女生都应该会用衣服来装饰自己,穿出街也会很有气质感。而很多人讲究版型什么的,其实颜色这方面也应该重视起来。哪三种颜色……以甲醇产业为抓手引领农工商金融融合创新行动以甲醇产业为抓手引领农工商金融融合创新行动记中懋华能源投资有限公司团队的发展布局与实践路径陈茂高在2021中国新能源产业经济年会上作主题发言写在前面在能……伊布自称上帝是在吹牛?不,他只是谦虚世界杯临近,每每这个时候中国的球迷又会陷入emo,毕竟快乐是他们的,跟我有什么关系。看了这么多年的道歉发布会,世界杯没有中国队已经成为常识了。这时候不得不感叹一句,看着隔壁宇宙……糖尿病吃西瓜,升血糖还是降血糖?不妨早点了解,别吃错了炎炎夏日,正是吃瓜好时节,一两块西瓜入口,消暑又止渴,一个字爽,不过这可苦了糖尿病病人,馋呀,有人说糖尿病可以吃西瓜,也有人认为糖尿病不能吃西瓜,因为太甜了,那么糖友们究竟能不……市场低迷,苹果iPad为何还敢逆势涨价?头条创作挑战赛众所周知,苹果公司iPhone14Plus上市就破发,在中国市场的一些第三方渠道甚至都降价千元进行兜售。很快,市场就传出消息称,苹果公司开始对iPhone1……线一起学之十九缺口图1缺口是指相邻两根K线之间股价不重合的部分,在图形上形成一段价格上的真空区域,这个区域就叫缺口,也称为跳空(如图1)。缺口主要分为普通缺口、突破缺口、持续性缺口、……去金店买黄金戒指,要知道这4不买,一看就是内行人在生活中,大家除了搭配服装之外,经常会用首饰装扮自己,让自己更有气质。而大家首选的首饰就是黄金,它不仅可以保值,也是财富的一种象征。所以很多女性第一选择都会是黄金,其中黄金戒指……5G时代,互联网巨头为何这么热衷农牧业养殖?RURALREVITALIZATION共建和谐发展畜牧业巨头进军养殖业似乎成了新风潮,前有网易未央猪,再有京东跑步鸡,腾讯也宣称要进军养殖业。互联网巨头间的战火已然……初秋唯美句子九月精选文案1、秋高气爽,天气睛朗,桂花飘香,注定是值得开心的日子。2、落叶的声音秋知道,流泪的感觉心知道,大海的温度鱼知道,我的心他知道。3、秋风肃起,大雁南飞。银杏开始了一……恭喜杨鸣!辽篮完成重磅续约,天赋不输张镇麟,或是李晓旭接班人目前CBA联赛早已进入了间歇期,新疆、青岛以及山东等球队已经开始重新集结,为CBA202223赛季开始备战新赛季。而辽宁男篮作为上赛季的冠军,他们集结的时间比较晚。据悉,他们将……
科研人员用3D打印的城市模型研究地震世界上的一些大型城市,比如洛杉矶、墨西哥城和圣地亚哥都位于自然形成的沉积盆地中,其中不少还位于地震带上,容易发生地震。而且根据一些数值模型,地震产生的震动在盆地内会被放大。……为什么大家说mysql数据库单表最大两千万?依据是啥?故事从好多年前说起。想必大家也听说过数据库单表建议最大2kw条数据这个说法。如果超过了,性能就会下降得比较厉害。巧了。我也听说过。但我不接受它的建议,硬……K宝教练透露大批选手选择改籍,网友喊话花滑3娃都来中国很多网友都在关注俄罗斯女子花样滑冰队伍的最新情况,由于选手们的比赛遇到了限制,而她们的年龄是获得好成绩的主要因素,为了不辜负她们的巅峰生涯,很多年轻选手开始奔向其他国家的怀抱,……变化太大了!明星们的老照片今天带来的作品,就是明星们的老照片,看看他们以前是什么样子,以及你们能猜出来吗?岳云鹏岳云鹏说他以前是校草,原以为是玩笑,看到他年轻时的旧照我信了。汤唯……葛淑珍从洗碗工到百万富婆,和赵本山离婚才是她人生的开始文阅栀编辑阅栀她是我这辈子唯一做过的缺德事,我这辈子就这一个污点!在记者面前,赵本山满脸愧疚地说。他口中所说的她,正是在赵本山一无所有时甘心陪伴的妻子葛……汪小菲爱过的女人,转身都爱上了光头,这是什么奇特的缘分?大S和韩国歌手具俊晔官宣离婚的消息实在是太劲爆了。谁也没有想到,她看待感情会这么的淡泊。众人以为大s还在感情的阴影中无法走出来,人家却转身找了新欢。在大家激烈讨论大……为什么房价很难大跌?最近几年国家对待房地产市场的态度就是防止房价大起大落,稳定房价。大涨容易产生泡沫,大跌也会带来崩盘,对经济的影响同样巨大。现在ZF的策略就是开源节流:开源:降低首付……汤杯爆大冷!韩国二单轰213惨败出局今晚,2022年汤杯打响8强战,A组第2韩国对阵B组第1丹麦,展现出奋勇拼搏的劲头和不畏强敌的韧劲,一单许侊熙打满3局惜败奥运冠军安赛龙后,一双姜敏赫徐承宰20横扫追平比分,接……陕西传奇古镇走红,曾因地震一片狼藉,现门票60元游客却不断当你对生活感到难过的时候,当你的压力马上就要达到临界值的时候,当你想要放松心情的时候,听我的,去旅行吧!踏上旅程,去享受旅行的乐趣,品味大自然的魅力,相信我,你一定会被那美丽震……23分大胜!广东却暴露两大隐患,杜锋板凳席暴怒,他比马尚差远经过了一个星期左右时间的休息,CBA202122赛季季后赛正式开打,首场比赛广东男篮以124101轻取天津男篮,将系列赛的比分改写成为10,再赢下一场就可以晋级第二轮迎战浙江男……詹眉复出轰下61分,湖人依旧不敌鹈鹕,基本无缘附加赛4月2日,湖人在主场再次面对附加赛竞争对手鹈鹕,本场比赛詹姆斯和浓眉强势复出。虽然詹姆斯全场高效23中13,砍下38分8篮板4助攻,浓眉17中8砍下23分12篮板6助攻,但最终……美食义乌宗江大酒店开启春季美食季春暖花开舌尖之巅味在宗江告别严寒,万物复苏。我们需要用春天的美食来品味生活的精致。每一个春天都是一次新的开始,趁着春日的温暖,历经十四年的宗江大酒店全新起航。让我们……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网