watchman
12-04-2006, 08:10 AM
I uses grid to bind a dataset to display a list of data. Whenever I do "page down" and "page up", the speed is really really slow, even I just display 30 items each time with 5 columns including a button and a text in the column.
I see there are dataoption like "pool" or "lazy". But those attributes doesn't apply for grid. Who could suggest a best way to do it? Thanks a lot
My code is like below,
<dataset name="assetData"/>
<grid name="assetGrid" options="releasetolayout" datapath="local:classroot.assetData:/">
//remove existing data
var dp = this.assetData.getPointer();
var data = dp.xpathQuery("asset");
if ( data != null ) {
var len = 1;
if ( typeof data.length != "undefined" ) {
len = data.length;
}
for ( var i=len; i>0; i-- ) {
dp = this.assetData.getPointer();
dp.setXPath("asset["+i+"]");
dp.deleteNode();
}
}
// add new data
this.fixedAssetList.array = new Array();
this.qtyMap = new Object();
for ( var i=0; i<30; i++ ) {
var asset = canvas.consumableList.array[i];
var dp = this.assetData.getPointer();
var el = dp.addNode("asset");
asset.toXML(el);
}
// apply change
this.assetGrid.applyData();
I see there are dataoption like "pool" or "lazy". But those attributes doesn't apply for grid. Who could suggest a best way to do it? Thanks a lot
My code is like below,
<dataset name="assetData"/>
<grid name="assetGrid" options="releasetolayout" datapath="local:classroot.assetData:/">
//remove existing data
var dp = this.assetData.getPointer();
var data = dp.xpathQuery("asset");
if ( data != null ) {
var len = 1;
if ( typeof data.length != "undefined" ) {
len = data.length;
}
for ( var i=len; i>0; i-- ) {
dp = this.assetData.getPointer();
dp.setXPath("asset["+i+"]");
dp.deleteNode();
}
}
// add new data
this.fixedAssetList.array = new Array();
this.qtyMap = new Object();
for ( var i=0; i<30; i++ ) {
var asset = canvas.consumableList.array[i];
var dp = this.assetData.getPointer();
var el = dp.addNode("asset");
asset.toXML(el);
}
// apply change
this.assetGrid.applyData();