DOJO CSVWriter无法获取显示数据

时间:2016-08-14 14:43:18

标签: dojo dojox.grid.datagrid

我正在使用带有导出器插件的dojo EnhancedGrid。 网格有许多显示的字段和几个可编辑的字段。 在可编辑中,我有一个DateTextBox和两个附加了格式化程序的FilteringSelects,以显示" displayValue"而不是商店中的实际价值。 例如,这是我的供应商字段:(我在dojo论坛中复制了[kgf]中的格式化程序)

{field: 'SupplierId', name: 'Supplier', editable: editable, widgetClass: FilteringSelect, width: 6,
    widgetProps: { 
         store: comboSupplierStore, 
         searchAttr: 'name', 
         labelAttr: 'name'
   }, 
   formatter: function(data, rowIndex) { /*[kgf]*/
        /*alert("data "+data)*/
        var genId = 'supplier_' + rowIndex;
        var store = this.widgetProps.store;
        var attr = "name";

        setTimeout(function() {
             store.fetchItemByIdentity({
                  identity: data,
                  onItem: dojo.partial(displayValue, genId, store, attr)
             });
        }, 50);
        /*for now return a span with a predetermined id for us to populate.*/
        return '<span id="' + genId + '"></span>';
   }
}, /*Next field, and so on...*/

当我导出csv字符串时,我在字符串中获取SupplierId而不是SupplierName。 我有一个按钮,我在其中定义了要导出到csv字符串的onClick事件:

grid.exportGrid('csv', function(str){
    /*I do something with the string */
}

有人可以帮我看看为什么出口商会忽略&#34;格式化程序?

1 个答案:

答案 0 :(得分:0)

你是否在格式化程序中返回了id

postRef.child(busNumber).setValue(true)

这是&#39;供应商_&#39;前缀:

  

var genId =&#39;供应商_&#39; + rowIndex;