Dojo Dijit使用dGrid(dGrid.io)删除行时未分析多个小部件
我使用dGrid 0.4.1-dev(dGrid.io)和自定义格式化程序(我已经尝试使用自定义渲染器)返回包含Dijit小部件的原始HTMLH,在页面加载期间,所有小部件都已正确解析,但在排序、分页或滚动(OnDemandGrid)时,它完全被破坏 在我的示例中,我在图标上使用工具提示小部件(声明模式,请参见底部的“单元格返回的HTML”) 页面加载时: 滚动、排序、分页后…: 返回单元格的HTML(由格式化程序):Dojo Dijit使用dGrid(dGrid.io)删除行时未分析多个小部件,dojo,dgrid,Dojo,Dgrid,我使用dGrid 0.4.1-dev(dGrid.io)和自定义格式化程序(我已经尝试使用自定义渲染器)返回包含Dijit小部件的原始HTMLH,在页面加载期间,所有小部件都已正确解析,但在排序、分页或滚动(OnDemandGrid)时,它完全被破坏 在我的示例中,我在图标上使用工具提示小部件(声明模式,请参见底部的“单元格返回的HTML”) 页面加载时: 滚动、排序、分页后…: 返回单元格的HTML(由格式化程序): 这些小部件正在构建中,并由用户在页面加载时启动。当新的声明性html在页
这些小部件正在构建中,并由用户在页面加载时启动。当新的声明性html在页面加载后添加到页面时,这些小部件不会自动解析。您需要手动执行此操作 例如,应该可以在网格的
renderRow
函数中手动调用解析器。可以找到一个例子
因此,以下代码可以工作:
require([
'dgrid/OnDemandList',
'dojo/parser'
], function (OnDemandList,parser) {
var list = new OnDemandList({
collection: myStore, // a dstore collection
renderRow: function (object, options) {
var div = document.createElement('div');
div.appendChild(document.createTextNode(object.myField));
// only 'parse' new row, not whole document again.
parser.parse(div);
return div;
}
});
});
您好:)是的,您是对的,但在用户对列进行排序时不工作。我使用:aspect.before(myGrid,'renderRow',function(){parser.parse(rowElement);});
function (item) {
return item;
}
require([
'dgrid/OnDemandList',
'dojo/parser'
], function (OnDemandList,parser) {
var list = new OnDemandList({
collection: myStore, // a dstore collection
renderRow: function (object, options) {
var div = document.createElement('div');
div.appendChild(document.createTextNode(object.myField));
// only 'parse' new row, not whole document again.
parser.parse(div);
return div;
}
});
});