一般情况下取消滚动条需要调整Table overflow属性,但该方法不适合Dorado。
经过测试发现showVScrollBar可以控制滚动条的显示与否。
按照内容大小自动调整模块大小即为高度自适应!
在加载页面时调用以下方法:
/**
* 普通表高度自适应
*/
setTableAllStyle : function(dataset,table){
//获取数据集中的数据个数
var num = dataset.getVisibleCount();
//判断数据集是否含有数据 没有给num复制为1
if(num==0){
num=1;
}
//设置tableSPECIALTERMITEM_QT样式的高度
//表格高度 = (行数+1) * (行高+边框高度)+ (表头+页脚高度)
table.style.height=(num+1)*23+30+"px";
}
调用的位置为: view--onDatasetsPrepared();
在添加新的行时,通过万能的alert()方法测试,发现在dataset的afterchange()方法中可以调用此方法实现高度自适应功能;
由于部分Table存在级联关系导致高度无法实现自适应。经过测试发现在table的onRecordClick
()方法和dataset的onGetValue()方法中调用可以实现。
但是当鼠标滚轮多次滚动时onGetValue()事件会被多次触发可能影响系统性能,所以此次优化将Table的supportsMousewheel设为false。
以上的做法并不完美,可能会导致性能降低的风险,大家可以看看有没有更完美的解决方案,有的话可以联系我 我们交流一下