我正在使用导出器插件的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 */
}有人能告诉我为什么导出器会“忽略”格式化程序吗?
发布于 2016-08-15 13:23:32
您不是要在格式化程序中返回id吗,
'<span id="' + genId + '"></span>';它是一个带有'supplier_‘前缀的id:
var genId = 'supplier_‘+ rowIndex;
https://stackoverflow.com/questions/38943306
复制相似问题