如何遍历一个DataTable中的每行每列,并且为每行每列的最后一列赋值

如何遍历一个DataTable中的每行每列,并且为每行每列的最后一列赋值,第1张

做一个循环就可以了~~

如:

DataTable dt = ds.Table[0]

int cols = dt.Columns.count

int rows = dt.Rows.count

for(int i = 0i <rowsi ++)

{

for(int j = 0j <colsj ++)

{

//遍历每一行每一列;

if(j == cols - 1) //列索引为最后一列;

{

dt.Rows[i][j] = "你要赋的值!"

}

}

}

---找出这个表中所有类型为varchar型的字段

---不知道你的str型需要对应哪几种类型,只以varchar型为例,其他类型可以查找systypes

---将所需要的type添加到最后的type筛选语句中

select t2.name from

(

---找到主键为aaa,并且与表中aaa字段的外键相对应的表

select b.id

from

(

---找出表1中aaa外键所对应的主表和主键

select rkeyid,rkey

from

(

---找出表1中的所有外键

select a.id,b.* from sysobjects a inner join sysforeignkeys b

on a.id=b.fkeyid

where xtype='U' and name='表1'

)c

inner join

(

---找出aaa字段所在的所有表

select id from syscolumns

where name='aaa'

)d

on c.id=d.id

)a

inner join

(

---找出aaa字段所在的所有表

select id from syscolumns

where name='aaa'

)b

on a.rkeyid=b.id

)t1

inner join syscolumns t2

on t1.id=t2.id

where t2.type=39

回答修改:

根据需求,修改如下

declare @name varchar(255)

---找出主表的名字

set @name=

(select t2.name from

(---找出SampleDetails中的lngYyGlAID外键所对应的主表

---有可能SampleDetails中不只有一个外键

---如果确定只有一个外键,不用和d相交

select rkeyid

from

(

---找出SampleDetails中的所有外键

select a.id,b.* from sysobjects a inner join sysforeignkeys b

on a.id=b.fkeyid

where xtype='U' and name='SampleDetails'

)c

inner join

(

---找出lngYyGlAID字段所在的所有表

select id from syscolumns

where name='lngYyGlAID'

)d

on c.id=d.id)t1

inner join

sysobjects t2

on t1.rkeyid=t2.id)

---从主表中查出strcode字段的所有信息

declare @sql varchar(255)

set @sql='select strCode from '+@name

exec(@sql)

如果不设置class或者id,那么用each是最好的了,基本就是用你现在这个方法。

至于为什么只有第1行第3列,是你搞错了,用你的写法来做,tr td,就是将table里所有的td都获取了,而不是你想的每一行的第3个,仔细想一下,你应该能明白,比如每行5个td的话eq(8),就是第2行的第4个。

如果要取每行第3个,应该是这个思路

$("#divResult table tr").children("td:eq(2)")


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10702293.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存