想问下list泛型取值问题

问题描述

我想问下如果btsList集合里面的项如果有等于str这个字符串的,就添加到我定义的datatable.fr3_table.Rows.Add(btsList)这个行不通,应该怎么写?我设断点调试的时候,btslist集合的值都是对的。就是不知道怎么赋值到我Datatableforeach(MatchminmcTwo){MatchCollectionmcSn=reg.Matches(m.ToString());stringstr=Regex.Replace(mcSn[0].Value,"/","").Replace(".","");varbtsList=BTS_tb.AsEnumerable().Select(p=>p["SN"].ToString()).ToList();MatchCollectionmcRF=RF_reg.Matches(m.ToString());if(btsList.Contains(str)){object[]values=newobject[]{m.ToString(),str,Regex.Replace(mcRF[0].Value,"","").Replace(".","")};td.Rows.Add(values);}else{fr3_table.Rows.Add(btsList);//此处存在问题}}this.dataGridView2.DataSource=td.DefaultView;

解决方案

本帖最后由 starfd 于 2015-09-08 11:03:28 编辑
解决方案二:
new个row给row赋值将rowadd到table
解决方案三:
DataRowr=table.NewRow();table["列名"]=列值;table.Rows.Add(r);
解决方案四:
btsList你要能跟row的每列对应上才行啊,如果你不传数组,它就认为你只传了一个参数,如果你的btsList跟DataTable一行的列能完全对应,那么你可以fr3_table.Rows.Add(btsList.ToArray());
解决方案五:
引用2楼wc_ling的回复:

DataRowr=table.NewRow();table["列名"]=列值;table.Rows.Add(r);

if(td["SN"]=btsList)这样?
解决方案六:
引用3楼starfd的回复:

btsList你要能跟row的每列对应上才行啊,如果你不传数组,它就认为你只传了一个参数,如果你的btsList跟DataTable一行的列能完全对应,那么你可以fr3_table.Rows.Add(btsList.ToArray());

btsList是另外一个table1的集合。str是table2其中一列的集合。对比之后是传值到第form3的table去的。加了这个ToArray());报错了,Inputarrayislongerthanthenumberofcolumnsinthistable.大于表的列数了
解决方案七:
引用3楼starfd的回复:

btsList你要能跟row的每列对应上才行啊,如果你不传数组,它就认为你只传了一个参数,如果你的btsList跟DataTable一行的列能完全对应,那么你可以fr3_table.Rows.Add(btsList.ToArray());

fr3_table.Rows.Add(btsList),我这个talbe也只有1列啊。怎么会大于btslist呢,这个是集合取得table也是只有一列而已
解决方案八:
引用2楼wc_ling的回复:

DataRowr=table.NewRow();table["列名"]=列值;table.Rows.Add(r);

你把要赋值给Table的值从list里取出来给它不就行了
解决方案九:
你是一列,但你是多行数据,如果你btsList内每条记录对应一行fr3_table.Rows,那你应该循环遍历btsList,然后执行Add方法
解决方案十:
btsList是否仅一列,你自己知道,如果不是一列,在下面重新组织一下newobject[]btsList.ForEach(p=>fr3_table.Rows.Add(newobject[]{p}));

解决方案十一:
引用9楼ajianchina的回复:

btsList是否仅一列,你自己知道,如果不是一列,在下面重新组织一下newobject[]btsList.ForEach(p=>fr3_table.Rows.Add(newobject[]{p}));

你好,这个会add很多重复几次数据,本来只有10条的。但是fr3_table.Rows.Add了几十条,等于str字符串的数据也add了
解决方案十二:
引用8楼starfd的回复:

你是一列,但你是多行数据,如果你btsList内每条记录对应一行fr3_table.Rows,那你应该循环遍历btsList,然后执行Add方法

if(btsList.Contains(str))我认为这样做一次判断就行了,如果再循环程序会变得很慢,虽然这只是个小程序。谢谢你提供的思路,如果实在不行就循环再检查一次了
解决方案十三:
你根本没懂我的意思……是这个意思else{//fr3_table.Rows.Add(btsList);//此处存在问题for(){//Add}}

解决方案十四:
引用12楼starfd的回复:

你根本没懂我的意思……是这个意思else{//fr3_table.Rows.Add(btsList);//此处存在问题for(){//Add}}

for循环btsList,如果等于str就addbtslist[i]对吗?
解决方案十五:
你这需求从逻辑上就讲不通List里存的是一列的值,里面是多行的而DataTable里是个表,多行多列你想把某行某列的内容添加进这个表里,怎么个添加法?
解决方案:
你只应该把某个表里的一行数据,添加到另一个表里的某一行(或者说新增行)而不是把某个表里某行某列的其中一个数据添加到一行里
解决方案:
引用14楼Z65443344的回复:

你这需求从逻辑上就讲不通List里存的是一列的值,里面是多行的而DataTable里是个表,多行多列你想把某行某列的内容添加进这个表里,怎么个添加法?

我想把table1的515488500100加到表3里面去。就是这样了table1(1)table2IDIDName515488515488KC500100500100CKK501200OPOP
解决方案:
这么简单的问题我不知道你在纠结什么兄弟如果table1与你的目标table格式相同,你就直接给他赋值呗如果格式不同,你就把你要数据从table1取出来赋单独赋给你的目标table至于有个list什么的,不就是赋值过过程中的中间量嘛没了手推车,你还不会从超市把买好东西拿回家了吗?
解决方案:
引用10楼qq_27779607的回复:

Quote: 引用9楼ajianchina的回复:
btsList是否仅一列,你自己知道,如果不是一列,在下面重新组织一下newobject[]btsList.ForEach(p=>fr3_table.Rows.Add(newobject[]{p}));

你好,这个会add很多重复几次数据,本来只有10条的。但是fr3_table.Rows.Add了几十条,等于str字符串的数据也add了

你是这个意思吧?varbtsList=BTS_tb.AsEnumerable().Select(p=>p["SN"].ToString()).ToList();foreach(MatchminmcTwo){MatchCollectionmcSn=reg.Matches(m.ToString());stringstr=Regex.Replace(mcSn[0].Value,"/","").Replace(".","");MatchCollectionmcRF=RF_reg.Matches(m.ToString());if(btsList.Contains(str)){object[]values=newobject[]{m.ToString(),str,Regex.Replace(mcRF[0].Value,"","").Replace(".","")};td.Rows.Add(values);}}btsList.ForEach(p=>fr3_table.Rows.Add(newobject[]{p}));

解决方案:
要么就是这个foreach(MatchminmcTwo){MatchCollectionmcSn=reg.Matches(m.ToString());stringstr=Regex.Replace(mcSn[0].Value,"/","").Replace(".","");varbtsList=BTS_tb.AsEnumerable().Select(p=>p["SN"].ToString()).ToList();MatchCollectionmcRF=RF_reg.Matches(m.ToString());if(btsList.Contains(str)){object[]values=newobject[]{m.ToString(),str,Regex.Replace(mcRF[0].Value,"","").Replace(".","")};td.Rows.Add(values);}else{fr3_table.Rows.Add(newobject[]{str});}}

解决方案:
引用18楼ajianchina的回复:

Quote: 引用10楼qq_27779607的回复:
Quote: 引用9楼ajianchina的回复:
btsList是否仅一列,你自己知道,如果不是一列,在下面重新组织一下newobject[]btsList.ForEach(p=>fr3_table.Rows.Add(newobject[]{p}));

你好,这个会add很多重复几次数据,本来只有10条的。但是fr3_table.Rows.Add了几十条,等于str字符串的数据也add了

你是这个意思吧?varbtsList=BTS_tb.AsEnumerable().Select(p=>p["SN"].ToString()).ToList();foreach(MatchminmcTwo){MatchCollectionmcSn=reg.Matches(m.ToString());stringstr=Regex.Replace(mcSn[0].Value,"/","").Replace(".","");MatchCollectionmcRF=RF_reg.Matches(m.ToString());if(btsList.Contains(str)){object[]values=newobject[]{m.ToString(),str,Regex.Replace(mcRF[0].Value,"","").Replace(".","")};td.Rows.Add(values);}}btsList.ForEach(p=>fr3_table.Rows.Add(newobject[]{p}));

btsList.ForEach(p=>fr3_table.Rows.Add(newobject[]{p}));//btsList有10项,其中有一项是和str相同的,怎么移除掉呢?

解决方案:
varbtsList=BTS_tb.AsEnumerable().Select(p=>p["SN"].ToString()).ToList();varbtsList_bak=btsList.GetRange(0,btsList.Count);foreach(MatchminmcTwo){MatchCollectionmcSn=reg.Matches(m.ToString());stringstr=Regex.Replace(mcSn[0].Value,"/","").Replace(".","");MatchCollectionmcRF=RF_reg.Matches(m.ToString());if(btsList.Contains(str)){object[]values=newobject[]{m.ToString(),str,Regex.Replace(mcRF[0].Value,"","").Replace(".","")};td.Rows.Add(values);btsList_bak.RemoveAll(p=>p==str);}}btsList_bak.ForEach(p=>fr3_table.Rows.Add(newobject[]{p}));

解决方案:
add能添加集合?不是addrange么

时间: 2024-10-30 20:05:48

想问下list泛型取值问题的相关文章

返回值 异常-想问下java返回值的问题,可能有点白目大家帮帮忙

问题描述 想问下java返回值的问题,可能有点白目大家帮帮忙 private String getBookByName(String[] books){ System.out.println("请输入书名:"); book=input.next(); for(int i=0;i<books.length;i++){ if(book.equals(books[i])){ return books[i]; }else{ return null; } } 之前没写else提示我没返回值

想问下这个方法的执行流程?谢谢大神指导

问题描述 想问下这个方法的执行流程?谢谢大神指导 private boolean isValid(int[][] game, int index, int[] numberOfSolutions) { if (index > 80) return ++numberOfSolutions[0] == 1; int x = index % 9; int y = index / 9; if (game[y][x] == 0) { List<Integer> numbers = new Arra

想问下session 问题

问题描述 一直做的是后台管理系统,过个一会session失效重新登陆.最近想做一个购物网站,想问下这里的登陆怎么做得.我百度了下,没有理想的session一直保存.举例子,淘宝的登陆是怎么做得. 解决方案 解决方案二:用cookie做呗解决方案三:cookie做的.但是虽然登陆了,也是假登陆.因为你需要购买东西,或者添加东西到购物车的话.需要重新输入密码.解决方案四:这个问题以前我也遇到过,找不到原因,改cookie了.Response.Cookies["loginName"].Val

php 集成环境-我想问下php的集成环境的php版本和安装的php程序版本之间怎么样才能使用呢?

问题描述 我想问下php的集成环境的php版本和安装的php程序版本之间怎么样才能使用呢? 我想问下php的集成环境的php版本和安装的php程序版本之间怎么样才能正常使用呢?就是说哪个版本高一些 解决方案 可以参考下这篇文章http://blog.csdn.net/oneym/article/details/48050487 解决方案二: wamp集成环境下升级php版本集成的PHP环境的使用Linux环境Nginx安装多版本PHP

我在做windows下的蓝牙4.0通信编程,想买一个适配器,想问下对适配器有要求吗

问题描述 我在做windows下的蓝牙4.0通信编程,想买一个适配器,想问下对适配器有要求吗 还有程序是怎么与适配器联系的呀,初学,有过开发经验的大神帮帮我吧,急急急,拜托啦 解决方案 没什么要求,京东上30块钱的足够了.注意看清楚支持bluetooth4.0就可以.蓝牙的开发除了配对,其它和网络类似.很简单的.会有一个ip地址.不需要你额外的代码.

python-初学Python,问一个关于数组取值的问题

问题描述 初学Python,问一个关于数组取值的问题 定义了一个tuple,初始化: name=('ada','bob','jack') 为什么取数组值的时候会报错? name(1) 解决方案 认真点,虽然你定义的不是list,是tuple,但是取值的时候还是要用name[1],而不是name(1). 解决方案二: 定义是定义,但是取值,有自己的语法规范name[1].不需要跟他爸爸长一样的.( )

想问下各位大侠你们的gcc在那里下载

问题描述 想问下各位大侠你们的gcc在那里下载 我是学c语言的小白 gcc找遍各地都找不到 下载的全部都是错的 想请各位大大帮帮忙!谢谢各位大大 解决方案 下mingw啊,你的环境是windows 还是linux啊?linux的话默认安装gcc的,gcc -v可查看,win的话安装mingw再配下环境变量就可以了 解决方案二: 下mingw啊,你的环境是windows 还是linux啊?linux的话默认安装gcc的,gcc -v可查看,win的话安装mingw再配下环境变量就可以了 解决方案三

图书馆图书查找功能~~~我想问下这个函数有没有哪里错~我是渣渣

问题描述 图书馆图书查找功能~~~我想问下这个函数有没有哪里错~我是渣渣 #include "bookrecord.h" void search( BOOK *top){ char choose[25],input[30]; int cn=0; BOOK *p; ASK(p); for(;;) { if(count==0) { printf("这是空表,还没有记录!n"); return ; } printf("1.通过出版社n"); print

数据库-写网站使用pageObject模式,有几个问题想问下大家

问题描述 写网站使用pageObject模式,有几个问题想问下大家 写网站使用pageObject模式,想问下它可以实现把数据库里面的某个字段的所有制相加么? 例如数据库表里面有账户余额字段,可以实现把所有余额相加么?用的是spring Mvc框架.谢谢大神! 解决方案 先临时变量修改再写入 解决方案二: 使用sum方法就可以实现相加了.