需求说明
1.在B/S中使用Excel模版时需要耗费的时间很长,所以想要先把需要绑定的数据显示出来,然后通过Thread在后台执行生成Excel的操作
2.生成过程中,前台页的‘另存Excel’按钮置灰
3.等Thread执行完成之后再把‘另存Excel’按钮的Enabled状态修改为可用问题出来了:
在Thread执行的方法中,如何获取并修改‘另存Excel’按钮的属性有遇到类似问题的吗,求解答
或者别的解决办法也行,多谢
1.在B/S中使用Excel模版时需要耗费的时间很长,所以想要先把需要绑定的数据显示出来,然后通过Thread在后台执行生成Excel的操作
2.生成过程中,前台页的‘另存Excel’按钮置灰
3.等Thread执行完成之后再把‘另存Excel’按钮的Enabled状态修改为可用问题出来了:
在Thread执行的方法中,如何获取并修改‘另存Excel’按钮的属性有遇到类似问题的吗,求解答
或者别的解决办法也行,多谢
当你将某个程序使用线程执行时,那么处理客户端请求的程序立刻就继续执行了,不等它完成就执行到Render,即输出html并准备结束页面生命周期了。根据你的问题所表达的设计层面,我只是告诉你为什么那样设计会失败。
//另存为
function saveasExcel()
{
//先把需要绑定的数据显示出来
$.ajax(
{url:your_request_url,
data:params_to_pass,
suceess:function(ret){
//根据后台传过来的结果显示数据到你的容器
//todo
//改变button
$(“#btn_saveAsExcel”).attr("enabled",false);}
);
//生成Excel的操作
$.ajax(
{url:your_request_url2,
data:params_to_pass2,
suceess:function(ret){
//根据后台传过来的结果显示数据到你的容器
//导出的excel的操作
//改变button
$(“#btn_saveAsExcel”).attr("enabled",true);}
);
}