我正在尝试在Dojo Toolkit中做一个解决方法,在第一行中你不能通过添加一个只有宽度的虚拟行来执行colspan。创建行后,将使用onBeforeRow隐藏该行。
请参考以下内容作为参考。
这是我的代码:
ConfirmGridGrid = new DataGrid({
store: ConfirmGridDataStore,
structure: [
[
{ width: '35px'}
,{ width: '35px'}
,{ width: '60px'}
,{ width: '60px'}
,{ width: '60px'}
,{ width: '60px'}
,{ width: '25px'}
,{ width: '25px'}
,{ width: '40px'}
,{ width: '25px'}
,{ width: '25px'}
,{ width: '25px'}
,{ width: '240px'}
,{ width: '25px'}
],[
{ name: 'Product Code', field: 'ProductCD', width: '70px', colSpan: 2, editable: false}
,{ name: 'Product Name', field: 'ProductNM', width: '240px', colSpan: 4, editable: false}
// The rest of second column..............................
],[
// Third column..............................
]
],
onBeforeRow: function(inDataIndex, inSubRows){
inSubRows[0].invisible = true;
}
}, "ConfirmGrid");
ConfirmGridGrid.startup();
由于某种原因,未调用onBeforeRow事件。有什么需要添加的吗?或者您是否需要进行其他活动布线才能使其正常工作? 我顺便使用Dojo 1.9.1。
答案 0 :(得分:1)
我最终发现了为什么没有被召唤。我把它放在了错误的地方。
我应该把它作为结构值的属性而不是网格定义。
希望以后能帮助别人。
structure: [
[
{ width: '35px'}
,{ width: '35px'}
,{ width: '60px'}
,{ width: '60px'}
,{ width: '60px'}
,{ width: '60px'}
,{ width: '25px'}
,{ width: '25px'}
,{ width: '40px'}
,{ width: '25px'}
,{ width: '25px'}
,{ width: '25px'}
,{ width: '240px'}
,{ width: '25px'}
],[
{ name: 'Product Code', field: 'ProductCD', width: '70px', colSpan: 2, editable: false}
,{ name: 'Product Name', field: 'ProductNM', width: '240px', colSpan: 4, editable: false}
// The rest of second column..............................
],[
// Third column..............................
],
,onBeforeRow: function(inDataIndex, inSubRows){
inSubRows[0].invisible = true;
}
],
同样在我的情况下,将其设置为隐形是不够的。你需要改变css来删除填充和边框。
tr.dojoxGridInvisible th
{
padding: 0px !important;
border: 0px !important;
}
tr.dojoxGridInvisible td
{
padding: 0px !important;
border: 0px !important;
}
引导我得到答案的示例代码就是这个邮件列表。 here