我在表头加了两个项目,自己研究了一个脚本,基本可以解决了 int obj_change() { //can_save=1; int id,r_num; string r_res_id,CPDJ; num HJ,MXHJ,MXZK,ZH; if(change_obj=='edit_ZHJE')//如果折后金额改动 { HJ=grid_get_col_sum("MG_Item","inp_amount");//本单金额合计 // msg(HJ); MXHJ=gui_get_val('edit_ZHJE');//整单明细合计 // msg(MXHJ); MXZK=MXHJ/HJ; // msg(MXZK); gui_set_text('edit_MXZK',num_dec_cut(MXZK,2));//整单折扣输入 if(MXZK>0); { r_num = grid_row_num('MG_Item'); // msg(r_num); for(id=1;id<r_num;id++) { r_res_id=grid_get_v('MG_Item','res_id',id); CPDJ=grid_get_v('MG_Item','inp_price',id); if(r_res_id=='') break; // msg(r_res_id); // msg(CPDJ); if (CPDJ>0) { ZH=num_dec_cut(CPDJ*MXZK,2) // msg(ZH); grid_set_v('MG_Item','inp_price',id,ZH) grid_trigger_change('MG_Item','inp_price',id) }; }; }; }; if(change_obj=='edit_MXZK')//如果折后金额改动 { HJ=grid_get_col_sum("MG_Item","inp_amount");//本单金额合计 // msg(HJ); MXZK=gui_get_val('edit_MXZK');//整单折扣 // msg(MXHJ); MXHJ=MXZK*HJ; // msg(MXZK); gui_set_text('edit_ZHJE',MXHJ);//整单折扣输入 if(MXZK>0); { r_num = grid_row_num('MG_Item'); // msg(r_num); for(id=1;id<r_num;id++) { r_res_id=grid_get_v('MG_Item','res_id',id); CPDJ=grid_get_v('MG_Item','inp_price',id); if(r_res_id=='') break; // msg(r_res_id); // msg(CPDJ); if (CPDJ>0) { ZH=num_dec_cut(CPDJ*MXZK,2) // msg(ZH); grid_set_v('MG_Item','inp_price',id,ZH) grid_trigger_change('MG_Item','inp_price',id) }; }; }; }; return 1; }; |