UniDBTreeGrid控件在数据更新之后,总是会自动折叠,我想要让它既更新了数据,又不自动折叠。
解决的办法如下:
UniDBTreeGrid -> ClientEvents ->
1. UniEvents -> function beforeInit:
function beforeInit(sender, config)
{
sender.expandedNodes=[];
}
2. ExtEvents -> function store.beforeload
function store.beforeload(store, operation, eOpts)
{
var me=this.grid;
me.expandedNodes=[];
me.getRootNode().cascadeBy(function(node) {
if (node.data.expanded) {
me.expandedNodes.push(node.data.id)
}
});
}
3. ExtEvents -> function store.nodeappend
function store.nodeappend(sender, node, index, eOpts)
{
if (this.grid.expandedNodes && this.grid.expandedNodes.indexOf(node.data.id)!=-1) {
if (node.parentNode.data.expanded) {
node.expand()
} else {
node.data.expanded = true
}
}
}
通过以上三个步骤即可解决问题。