$PBExportHeader$w_grade_ch.srw forward global type w_grade_ch from w_publ_edit_choice end type type cbx_mlselect from checkbox within w_grade_ch end type type cbx_allselect from checkbox within w_grade_ch end type end forward global type w_grade_ch from w_publ_edit_choice integer width = 3054 integer height = 1880 string title = "客户等级选择" cbx_mlselect cbx_mlselect cbx_allselect cbx_allselect end type global w_grade_ch w_grade_ch type variables int if_mlselect=0 boolean if_select_all=false boolean if_changeselect=true s_grade INS_RT_STRU end variables forward prototypes public function integer wf_face_change () end prototypes public function integer wf_face_change (); cbx_mlselect.enabled = not dw_edit_mode cbx_allselect.enabled = not dw_edit_mode IF dw_edit_mode THEN cb_func.Enabled = FALSE cb_choice.Enabled = FALSE cb_delet.Enabled = FALSE cb_rtr.Enabled = FALSE cb_edit.Text = "放弃&E" cb_add.Text = "保存&S" cb_edit.normalpicname = 'Undo.bmp' cb_add.normalpicname = 'Save.bmp' ELSE cb_func.Enabled = TRUE cb_delet.Enabled = TRUE cb_choice.Enabled = TRUE cb_rtr.Enabled = TRUE cb_edit.Text = "修改&E" cb_add.Text = "新建&S" cb_edit.normalpicname = 'OPEN.bmp' cb_add.normalpicname = 'new.bmp' END IF cb_edit.of_init_draw() cb_add.of_init_draw() cb_edit.of_paint() cb_add.of_paint() cb_add.TriggerEvent('ue_textchange') cb_edit.TriggerEvent('ue_textchange') RETURN 1 end function on w_grade_ch.create int iCurrent call super::create this.cbx_mlselect=create cbx_mlselect this.cbx_allselect=create cbx_allselect iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.cbx_mlselect this.Control[iCurrent+2]=this.cbx_allselect end on on w_grade_ch.destroy call super::destroy destroy(this.cbx_mlselect) destroy(this.cbx_allselect) end on event close;call super::close;CLOSEWITHRETURN(THIS,INS_RT_STRU) end event type cb_func from w_publ_edit_choice`cb_func within w_grade_ch end type type cb_exit from w_publ_edit_choice`cb_exit within w_grade_ch integer x = 603 end type type cb_add from w_publ_edit_choice`cb_add within w_grade_ch boolean visible = false end type event cb_add::clicked;call super::clicked;IF NOT f_power_ind(1645,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF Long ll_newid,i String errmsg IF dw_edit_mode THEN dw_uc.AcceptText() IF dw_uc.GetNextModified(0, Primary!) = 0 THEN MessageBox(publ_operator,'没有任何修改,不可以保存!') RETURN END IF dw_uc.Object.expensesname[dw_uc.GetRow()] = Trim(dw_uc.Object.expensesname[dw_uc.GetRow()]) dw_uc.Object.expensescode[dw_uc.GetRow()] = Trim(dw_uc.Object.expensescode[dw_uc.GetRow()]) IF dw_uc.Object.expensesname[dw_uc.GetRow()] = '' THEN MessageBox(publ_operator,'请输入项目名称!') RETURN END IF IF dw_uc.Object.expensescode[dw_uc.GetRow()] = '' THEN MessageBox(publ_operator,'请输入项目名称!') RETURN END IF IF dw_uc.Object.expensesid[dw_uc.GetRow()] = 0 THEN ll_newid = f_sys_scidentity(0,"U_Expenses","ExpensesID",errmsg,TRUE,id_sqlca) IF ll_newid <= 0 THEN MessageBox(publ_operator,errmsg) RETURN ELSE dw_uc.Object.expensesid[dw_uc.GetRow()] = ll_newid END IF END IF END IF IF dw_edit_mode THEN String ls_errmsg IF dw_uc.Update() = -1 THEN IF Pos(ins_sqlerrtext,"Cannot insert duplicate key row") > 0 THEN ls_errmsg = "关键内容重复" ELSE ls_errmsg = "因为网络或其他原因>"+ins_sqlerrtext END IF ROLLBACK; MessageBox (publ_operator,ls_errmsg+",保存操作失败!",Exclamation!,OK!) LS_UPDATE_FLAG = FALSE RETURN ELSE COMMIT; FOR i = 1 TO 3 dw_uc.SetTabOrder ( i, 0 ) NEXT LS_UPDATE_FLAG = TRUE END IF ins_sqlerrtext = "" ELSE Long li_row, li_cur_row li_cur_row = dw_uc.GetRow() li_row = dw_uc.InsertRow (0) FOR i = 1 TO 3 dw_uc.SetTabOrder ( i, i*10 ) NEXT dw_uc.SelectRow(0,FALSE) dw_uc.ScrollToRow (li_row) dw_uc.SelectRow(li_row,TRUE) dw_uc.SetFocus() modifyrow_no = li_row END IF dw_edit_mode = NOT dw_edit_mode WF_FACE_CHANGE() end event type cb_edit from w_publ_edit_choice`cb_edit within w_grade_ch boolean visible = false end type event cb_edit::clicked;call super::clicked;IF NOT f_power_ind(1645,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF long i IF dw_edit_mode THEN if dw_uc.GetItemStatus(dw_UC.getrow(), 0, Primary!)=NewModified! or dw_uc.GetItemStatus(dw_UC.getrow(), 0, Primary!)=New! then dw_UC.deleterow(dw_UC.getrow()) else dw_UC.ReselectRow(dw_UC.getrow()) end if for i=1 to 3 dw_UC.SetTabOrder ( i, 0 ) next modifyrow_no = 0 ELSE modifyrow_no = dw_UC.getrow() for i=1 to 3 dw_UC.SetTabOrder ( i, i*10 ) next dw_UC.SetFocus() dw_UC.selectrow(0,false) dw_UC.ScrollToRow (modifyrow_no) dw_uc.selectrow(modifyrow_no,true) END IF dw_edit_mode= NOT dw_edit_mode WF_FACE_CHANGE() end event type cb_delet from w_publ_edit_choice`cb_delet within w_grade_ch boolean visible = false end type event cb_delet::clicked;call super::clicked;IF NOT f_power_ind(1645,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF IF MessageBox (publ_operator,"是否确定要删除当前记录?(选择确定后记录将不可恢复)",Question!,YesNo! ) = 2 THEN RETURN END IF Long LS_id Long LS_LONG = 0 String ls_code,arg_msg IF DW_UC.GetRow() <= 0 THEN MessageBox('','没有操作目标记录!') RETURN END IF LS_id = DW_UC.Object.Expensesid[DW_UC.GetRow()] SELECT count(u_reissuemx.mtrlid) INTO :LS_LONG FROM u_reissuemx INNER JOIN u_reissue ON u_reissuemx.reissueid = u_reissue.reissueid AND u_reissuemx.scid = u_reissue.scid Where (u_reissue.TYPE = 1) AND u_reissuemx.mtrlid = :LS_id; IF SQLCA.SQLCode <> 0 THEN MessageBox (publ_operator,"数据查询操作失败!(请重试!)",Exclamation!,OK!) RETURN END IF IF LS_LONG > 0 THEN MessageBox (publ_operator,"该资料已经使用于补件单,不可以删除!",Exclamation!,OK!) RETURN END IF DW_UC.SetRedraw (FALSE) DW_UC.DeleteRow (0) DW_UC.TriggerEvent (RowFocusChanged!) IF DW_UC.Update() = -1 THEN ROLLBACK; MessageBox (publ_operator,"删除记录操作失败!",Exclamation!,OK!) ELSE COMMIT; END IF DW_UC.SetRedraw (TRUE) end event type cb_choice from w_publ_edit_choice`cb_choice within w_grade_ch integer x = 302 end type event cb_choice::clicked;call super::clicked;Long ROW,ls_i,chC = 0 ROW = dw_uc.GetRow() If ROW <= 0 Then MessageBox('系统提示','请先选择目标行!',StopSign!) Return End If For ls_i = 1 To dw_uc.RowCount() If dw_uc.IsSelected(ls_i) Then chC++ INS_RT_STRU.grade[chC] = dw_uc.Object.grade[ls_i] End If Next If chC = 0 Then MessageBox('系统提示','请至少选择一个目标行!',StopSign!) Return End If Close(Parent) end event type dw_uc from w_publ_edit_choice`dw_uc within w_grade_ch integer width = 3026 integer height = 1600 string dataobject = "dw_grade_ch" end type event dw_uc::clicked;IF row > 0 AND NOT dw_edit_mode THEN THIS.SetRow(row) IF if_mlselect = 1 THEN IF if_changeselect THEN THIS.SelectRow(row,NOT THIS.IsSelected(row)) ELSE if_changeselect = TRUE END IF ELSE THIS.SelectRow(0,FALSE) THIS.SelectRow(row,TRUE) END IF END IF end event event dw_uc::rowfocuschanged;IF modifyrow_no > 0 AND dw_edit_mode THEN THIS.SetRow(modifyrow_no) THIS.ScrollToRow(modifyrow_no) ELSE IF if_mlselect = 1 THEN IF currentrow <= 0 THEN RETURN IF KeyDown(keycontrol!) THEN IF THIS.IsSelected(currentrow) THEN THIS.SelectRow(currentrow,FALSE) if_changeselect = FALSE ELSE if_changeselect = TRUE END IF ELSE IF NOT THIS.IsSelected(currentrow) THEN THIS.SelectRow(currentrow,TRUE) if_changeselect = FALSE ELSE if_changeselect = TRUE END IF END IF ELSE IF dw_edit_mode THEN RETURN IF currentrow <= 0 THEN RETURN THIS.SelectRow(0,FALSE) THIS.SelectRow(currentrow,TRUE) dw_uc.SetRow(currentrow) dw_uc.ScrollToRow (currentrow) END IF END IF end event event dw_uc::rbuttondown; if dw_edit_mode then return call super::rbuttondown end event event dw_uc::doubleclicked;call super::doubleclicked;IF NOT dw_edit_mode THEN cb_choice.TriggerEvent( Clicked!) end event type cb_rtr from w_publ_edit_choice`cb_rtr within w_grade_ch end type type cb_help from w_publ_edit_choice`cb_help within w_grade_ch integer x = 453 end type type ln_bar from w_publ_edit_choice`ln_bar within w_grade_ch end type type ln_bar2 from w_publ_edit_choice`ln_bar2 within w_grade_ch end type type r_bar from w_publ_edit_choice`r_bar within w_grade_ch integer x = 827 end type type cbx_mlselect from checkbox within w_grade_ch integer x = 878 integer y = 96 integer width = 215 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 16711680 long backcolor = 134217739 string text = "多选" end type event clicked;If This.Checked Then if_mlselect = 1 cbx_allselect.Enabled = True Else if_mlselect = 0 cbx_allselect.Enabled = False cbx_allselect.Checked = False cbx_allselect.TriggerEvent(Clicked!) End If f_SetProfileString (sys_empid,dw_uc.DataObject, "if_mlselect", String(if_mlselect)) end event event constructor;This.BackColor = 14215660 if_mlselect = Long(f_ProfileString(sys_empid,dw_uc.DataObject, "if_mlselect",'0')) If if_mlselect = 0 Then cbx_mlselect.Checked = False cbx_allselect.Enabled = false Else cbx_mlselect.Checked = True cbx_allselect.Enabled = True End If end event type cbx_allselect from checkbox within w_grade_ch integer x = 1115 integer y = 96 integer width = 229 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 16711680 long backcolor = 134217739 boolean enabled = false string text = "全选" end type event clicked;if dw_uc.rowcount()<=0 then return long li if this.checked then for li =1 to dw_uc.rowcount() dw_uc.selectrow(li,true) next else for li =1 to dw_uc.rowcount() dw_uc.selectrow(li,false) next end if end event event constructor;this.backcolor = 14215660 end event