繁体   English   中英

带有列的选定行的数据表数据

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM