怎样取得dataTable中某一单元格的值

怎样取得dataTable中某一单元格的值,第1张

说得清楚点,是datatable还是普通的table
如果是datatable
DTrows[i][j]
i是行索引j是列索引,都是从0开始,列索引也可以换成列名称
如果是table
那就用tablerows(i)cells(j)

这只是其中一种做法,方法还有很多,楼上两位的也可以。
主要是看怎么拼的好。
var aaa="";
jQuery("#table tr")each(function (i){//循环行
if(i==jQuery("#table tr")length-1)//判断最后一行
{
aaa+=jQuery("#table tr input")val();
}
else{
aaa+= jQuery("#table tr:eq("+i+") select")val()+":";//取到每行下拉框的值
jQuery("#table tr:eq("+i+") input[type=text]")each(function (){
aaa+=thisvalue+",";
});
aaa+="--";//此行结束
}
});


function readRandomValueInTable(Table)
    mathrandomseed(ostime())
    return Table[mathrandom(1,#Table)]
end

如果是数组表就用上面这种就可以了

如果是哈希表要全部按key全部的话

function readRandomValueInTable(Table)
    local tmpKeyT={}
    local n=1
    for k in pairs(Table) do
        tmpKeyT[n]=k
        n=n+1
    end
    mathrandomseed(ostime())
    return Table[tmpKeyT[mathrandom(1,n-1)]]
end

//得到选中的行
int row = tablegetSelectedRow();
//得到table中有几列
int cell = tablegetModel()getColumnCount();
//根据你想要的行和列去取值。方法如下:
//获取自己想要的列,这里我默认写0列注意填写的值不能大于cell
int column = 0;
Object selectedValue = tablegetModel()getValueAt(row,column);
//selectedValue就是你想要的值

直接在td里面添加click事件click="test(this)",然后就可以比较容易的获取到table各行各列的值
thisvalue就是里面的值,还有thisinnerText,thisHTMl具体用什么,根据情况考虑

css的选择器 nth-child(N) 用于匹配属于其父元素的第 N 个子元素,因此获取table的某列可用如下核心代码

$("table tr")find("td:nth-child(n)");   // 获取table所有行第一列

实例演示:点击按钮获取第一列中含有字符1的行标

创建Html元素

<div class="box">
<span>点击按钮获取第一列中含有字符1的行标:</span><br>
<div class="content">
<table class="test">
        <tr><td>1</td><td>2</td><td>3</td></tr>
        <tr><td>4</td><td>5</td><td>6</td></tr>
        <tr><td>71</td><td>8</td><td>9</td></tr>
    </table>
</div>
<input type="button" value="获取第一列含有字符1的行">
</div>

设置css样式

divbox{width:300px;padding:20px;margin:20px;border:4px dashed #ccc;}
divbox>span{color:#999;font-style:italic;}
divcontent{width:250px;margin:10px 0;padding:20px;border:2px solid #ff6666;}
table{border-collapse:collapse;}
td{width:30px;height:30px;line-height:30px;text-align:center;border:1px solid green;}

编写jquery代码

$(function(){ 
$("input:button")click(function() {
num = $("tabletest tr")find("td:nth-child(1)")map(function(index, elem) {
return $(elem)html()indexOf("1")>=0  index+1 : null;
})get()join(',');
alert("第一列中包含字符1的行为:"+num);
});
});

观察效果

首先你要确定你的DataTable 里面是有数据的

我不知道你的 Table里面是什么样的数据··ItemArray 返回 object [] 数组
你拿一个object 数组 去 ConverttoInt32()
你不报错我到觉得奇怪了 ··
如果是业务需要··那就要另外来写 toInt32() 对你的需要行不通
他只返回一个数字 而不是 int数组!
一般拿个ConverttoInt32(dtRows[1][2]) 就是这样了!


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

原文地址:https://54852.com/yw/13326306.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-31
下一篇2025-08-31

发表评论

登录后才能评论

评论列表(0条)

    保存