读书人

[]一直困惑的PBWEBFORM中的MESSAGEBOX

发布时间: 2013-06-25 23:45:41 作者: rapoo

[求助]一直困惑的PBWEBFORM中的MESSAGEBOX回调问题
程序是从CS转过来的。一窗口上有两个数据窗口A和B。A、B中均只有CONSTRUCTOR事件。但在窗口进行A、B数据保存时,会有个MESSAGEBOX进行询问“是否保存”。在MESSAGEBOX弹出前,界面进行了整个页面的刷新。在点击确定后,又一次的整页面刷新。
请问大家是如何进行优化的?因为数据窗口数据量大的时候很影响效率。。。
[解决办法]

引用:
用javascript来写,不要在事件里写messagebox,这样就不产生回调


只能通过上面的方式达到最佳效果;
另外,原来的程序流程需要优化一下,减少messagebox之类的交互,有些提示之类的显示成红色的大字体放到文本控件中,这样也可以减少不必要的交互
[解决办法]
请参考

http://www.jb51.net/article/5057.htm
[解决办法]
现粘贴上一段我的代码,根据返回值来判断执行
//dw button按钮JS脚本
function dwbuttonclick(sender,rownumber,objectname){


if (objectname=='b_1'){

if (confirm('是否对数据进行批量处理?')==true){

PBDataWindow_ButtonClicked(sender,rownumber,objectname)

//定义产品实例标识及原接入方式标识变量

// var indep_prod_id,old_access_id

//得到数据窗口当前页的数量

// var rowcount = sender.lastRow+1


//循环对数据进行处理
// var i

//定义数组变量,将所以变量写入数组
// var arrobject = new Array();

//开始循环
// for (i=1;i<=rowcount;i++){


//滚动到处理行
// sender.SetScroll(1,i)

//得到产品实例标识及原接入方式标识



// indep_prod_id = sender.GetItem(i,'om_service_order_indep_prod_inst_id')

// old_access_id = sender.GetItem(i,'om_so_access_old_access_id')

//将获取的值写入到数组

// arrobject[i]=indep_prod_id+';'+old_access_id

//得到行信息
// sender.rowInfos[i - 1] = new HTDW_RowInfoClass(sender.rows[i],i)

//高亮显示
// sender.SelectRow(0,false);

// sender.SelectRow(i,true);


//调用数据窗口CLICKED事件并调用接口方法
// rownumber = i;


// }






}
else{


}


}

读书人网 >PB

热点推荐