【求助】ExtJs的进度条不能正常显示
extjs吧
全部回复
仅看楼主
level 2
逆流寻迹 楼主
2015年07月29日 08点07分 1
level 2
逆流寻迹 楼主
补充说明:
我做了一个如1楼所示的一个窗口,目的是导入一个excel文件中的数据,进行一系列的数据验证,然后上传到数据库中。
现在的问题是,我在导入解析excel中的数据的过程中,会显示一个进度条,如图
但是实际效果中,只有火狐浏览器能正常显示,其他浏览器,例如谷歌、360等,都不行。
特别说明:我这里说的不能正常显示,并不是进度条没显示出来,而是在数据处理完以后,跳出来一个100%处理完成的结果,然后自动关闭了。
也就是说,从开始处理,一直到处理的过程中,进度条都没有展示出来
求助解决,楼下附上主要代码
2015年07月29日 08点07分 2
level 2
逆流寻迹 楼主
wl_wp_upload_excel_face_window_panel_fileHTML5Upload.onUpload = function(jsonStr){
var jsonObj = Wb.decode(jsonStr);
var jsonArr = jsonObj.车队模板; //模板的表单标题
if(Ext.isEmpty(jsonArr)) {
//模板中数据为空,或标签页名字不对时会导致读取数据为空
Wb.message('导入的文档表单标题错误或者文档中没有数据');
} else {
wl_wp_upload_excel_initInfo(jsonArr); //调用函数处理
}
};
这个是选择导入的文件后会自动执行的代码,相当于执行代码入库,应该是没有问题的
2015年07月29日 08点07分 3
level 2
逆流寻迹 楼主
var wl_wp_upload_excel_initInfo = function(jsonArr) {
//显示一个进度条
Ext.MessageBox.progress("进度", "正在处理,请稍候...", "0%");
//解析数据并保存到数组中
for(var i in jsonArr) {
//更新进度条的状态
Ext.MessageBox.updateProgress(i/jsonArr.length, Math.round((i/jsonArr.length)*100) + "%");
//校验信息
这里是校验数据是否符合要求的代码,因为与进度条展示没有关系,并且代码较多,所以删掉不在这里展示了
}
//校验结束后更新进度条状态并关闭
Ext.MessageBox.updateProgress(1, "处理完成");
Ext.defer(function () { Ext.MessageBox.close(); }, 500);
//这里还有所有校验结束后,进行展示的代码,与进度条无关
};
2015年07月29日 08点07分 4
level 2
逆流寻迹 楼主
4楼就是我认为有问题的代码,但是从逻辑上来说我又实在找不出错误。
再次说明:导入excel处理数据的过程中会展示一个进度条,但是在部分浏览器中,只有在处理结束后会跳出来进度条的最终处理完成状态,前面的处理过程不能正常显示。
PS:目前已知火狐浏览器是可以正常展示整个进度条处理过程的
2015年07月29日 08点07分 5
1