繁体   English   中英

从选定的行中获取所有记录-Extjs

[英]Get all records from a selected row - Extjs

所以我在这里有控制器来返回单击行的记录:

...
this.control({
             'mylist': {
                cellclick: function(view, td, cellIndex, record, tr, rowIndex, e, eOpts) {
                        var id = record.get('ID');
                        var name = record.get('NAME');
                        var desc = record.get('DESC');
                        var view = record.get('VIEW');
...

我该如何动态遍历mylistget所有字段并为每个字段分配一个变量(因为将来列的数量可能会增加)?

干杯!

如果您只想遍历映射到已定义列的记录字段,则可以执行以下操作:

cellclick: function(view, td, cellIndex, record, tr, rowIndex, e, eOpts) {

  var i,
      columns = view.panel.columns, 
      currentRecordKey,
      newRecord = {};

   for(i=0; i < columns.length; i++){

        currentRecordKey = columns[i].dataIndex;
        newRecord[currentRecordKey] = record.get(currentRecordKey)
   }

   //do something with new record
}

虽然此解决方案不会为每个键创建var ,但会创建一个包含当前记录的所有值的映射,该映射具有相似的用途。 例如,您可以简单地使用newRecord.id来获取示例中记录的id字段,它的作用与var声明相同,因为如果该字段(地图中的键)实际上没有声明,则该语句将失败存在。 请记住,这与仅使用实际记录本身减去记录对象中的一些额外字段没有太大区别。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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