jQuery MiniUI
标题:
虚拟滚动后,验证的BUG
[打印本页]
作者:
蛋白质
时间:
2016-7-8 14:49:33
标题:
虚拟滚动后,验证的BUG
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>表格大数据量:10000条</title>
<script src="../scripts/boot.js" type="text/javascript"></script>
</head>
<body >
<h4>表格大数据量:10000条</h4>
<span><a class="mini-button" iconCls="icon-save"
plain="true" id="btnSave" onclick="save()">保存</a> </span>
<div id="grid1" class="mini-datagrid" style="width:100%;height:400px;"
idField="UID" pageSize="50"
allowCellEdit="true" allowCellSelect="true" multiSelect="true"
showPager="false" virtualScroll="true"
>
<div property="columns">
<div type="indexcolumn"></div>
<div type="checkcolumn"></div>
<div name="taskname" field="Name" width="200">任务名称
</div>
<div field="Duration" width="100">工期</div>
<div field="Start" width="100" dateFormat="yyyy-MM-dd">开始日期</div>
<div field="Finish" width="100" dateFormat="yyyy-MM-dd">完成日期</div>
<div field="Duration" width="100">工期</div>
<div field="PercentComplete" width="100" vtype="required">进度
<input property="editor" class="mini-textbox" minValue="0" maxValue="200" value="25" style="width:100%;"/>
</div>
<div field="Start" width="100" dateFormat="yyyy-MM-dd">开始日期</div>
<div field="Finish" width="100" dateFormat="yyyy-MM-dd">完成日期</div>
</div>
</div>
</body>
</html>
<script type="text/javascript">
// var sss = new Date();
// window.onload = function () {
// setTimeout(function () {
// alert(new Date() - sss);
// }, 1);
// };
function fillData() {
var data = [];
for (var i = 0, l = 10000; i < l; i++) {
var o = {
"UID": i,
"ParentTaskUID": -1,
"Name": "项目范围规划" + i,
"Duration": 5,
"Start": "2007-01-01",
"Finish": "2007-01-05",
"PercentComplete": 0,
"Summary": 1,
"Critical": 0,
"Milestone": 0,
"PredecessorLink": []
};
data.push(o);
}
grid.setData(data);
}
mini.parse();
var grid = mini.get("grid1");
fillData();
function save(){
grid.validate();
if(grid.isValid()==false){
var error = grid.getCellErrors()[0];//显示错误的位置
grid.scrollIntoView(error.record);
grid.beginEditCell(error.record, error.column);
return;
}
}
</script>
复制代码
全部数据假设有1W多行,在500行左右有个文本框验证,这时候滚动条在第1条。点保存,这时候会走验证代码,全找到验证的单元格。但鼠标点不进去(BUG)。。。。要点一下其它的单元格之后,才能点进去这个要验证的格。
作者:
dforce
时间:
2016-7-8 15:07:08
setTimeout(function(){
grid.beginEditCell(error.record, error.column);
},100)
不过,并不建议大数据的表格用验证,低端浏览器会卡死
欢迎光临 jQuery MiniUI (http://miniui.com/discuss/)
Powered by Discuz! X2