[英]datatable data of selected row with column
我正在尝试获取由所选行的名称引用的数据表的特定列,但它选择特定列的行或所有数据,而不是所选行的特定列值:
var columnValue1 = getTable().column('ALEN:name').rows( { selected: true } ).data();
var columnValue2 = getTable().rows( { selected: true } ).column('ALEN:name').data();
输出:
Columnvalue1 : 不仅输出选定行的 'ALen' 列,而是输出完整的选定行 Columnvalue2 :不仅输出选定行的 'Alen' 列的所有行的数据
正如评论中所说,这取决于 DataTable 初始化(ajax 或预充电数据),如果您有单选或多选...
多项选择示例:
如果您有带有 ajax 的数据表,您可以直接访问字段:
var rowsData = getTable().rows({ selected: true }).data().filter(x => x.FieldName <= 0).toArray()
如果您没有 ajax 并且您有预充电数据:
var rowsData = getTable().rows({ selected: true }).data().filter(x => x[15] <= 0).toArray()
最后,您可以遍历 rowsData 因为它是一个带有字段的对象(行)数组。
单选示例:
如果您有带有 ajax 的数据表,您可以直接访问字段:
var fieldValue = getTable().row({ selected: true }).data().FieldName
如果您没有 ajax 并且您有预充电数据:
var fieldValue= getTable().row({ selected: true }).data()[15]
我创建了一个函数,该函数对名称进行索引,然后确定他在所选行中的位置,例如我想返回名称为 Alen 的行的值:
var columnValue2 = getTable().rows( { selected: true } ).data()[0][tab.getColumnIndex("Alen")];
这是我的功能:
this.getColumnIndex = function(ColumnName){
var index;
//dataTableOption : function to declare option of datatable like columns-searching
for (let i=0;i<this.dataTableOption.columns.length; i++ ){
if ( this.dataTableOption.columns[i].name == ColumnName){
index =i;
}
}
return index ;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.