$PBExportHeader$w_bill_sign_def.srw forward global type w_bill_sign_def from w_xls_publ_edit_choice end type type dw_child from u_xls_dw_rbtnfilter within w_bill_sign_def end type type cb_save from uo_xls_imflatbutton within w_bill_sign_def end type type cb_refresh_child from uo_xls_imflatbutton within w_bill_sign_def end type type tv_1 from uo_xls_tree_billlist within w_bill_sign_def end type type cbx_autogetsign from checkbox within w_bill_sign_def end type type cb_cancel from uo_xls_imflatbutton within w_bill_sign_def end type type cb_refresh_uc from uo_xls_imflatbutton within w_bill_sign_def end type type cb_load from uo_xls_imflatbutton within w_bill_sign_def end type end forward global type w_bill_sign_def from w_xls_publ_edit_choice integer width = 3630 integer height = 2540 string title = "单据字段标记定义" boolean minbox = true boolean maxbox = true windowtype windowtype = popup! windowstate windowstate = maximized! event ue_f9 ( ) event retrieve_child ( ) event ue_modify_mx ( ) event ue_save_mx ( ) event ue_add_child ( ) event ue_tv_selectionchange ( ) event ue_newbill ( ) event ue_newmx ( ) dw_child dw_child cb_save cb_save cb_refresh_child cb_refresh_child tv_1 tv_1 cbx_autogetsign cbx_autogetsign cb_cancel cb_cancel cb_refresh_uc cb_refresh_uc cb_load cb_load end type global w_bill_sign_def w_bill_sign_def type variables datastore ds datastore cur_ds end variables forward prototypes public function integer wf_new_facechange (integer arg_flag) end prototypes event retrieve_child();IF dw_uc.GetRow( ) <= 0 THEN dw_child.Reset( ) RETURN END IF String dwname Long i,find_row Boolean bl_autogetsign bl_autogetsign = cbx_autogetsign.Checked s_xls_dwcolumnlist s_dwcol dwname = dw_uc.Object.defaultdatawindow[dw_uc.GetRow( ) ] IF dwname = '' THEN dw_child.Reset( ) RETURN END IF IF Not f_xls_chkdw(dwname) THEN dw_child.Reset( ) RETURN END IF IF Not IsValid(cur_ds) THEN cur_ds = Create datastore cur_ds.SetTransObject(sqlca) END IF cur_ds.DataObject = dwname s_dwcol = f_xls_getcolumnlist(cur_ds) IF UpperBound(s_dwcol.columnname) = 0 THEN dw_child.Reset( ) RETURN END IF dw_child.SetRedraw(False) dw_child.Retrieve(dw_uc.Object.billid[dw_uc.GetRow( )] ,s_dwcol.columnname) Long newrow FOR i = 1 To UpperBound(s_dwcol.columnname) find_row = dw_child.Find( "U_XLS_BillColumn_Def.columnname = '"+s_dwcol.columnname[i]+"'", 1, dw_child.RowCount( ) ) IF find_row > 0 THEN IF bl_autogetsign THEN IF Trim(dw_child.Object.signname[find_row]) = '' THEN dw_child.Object.signname[find_row] = Trim(s_dwcol.column_dscrp[i]) IF s_dwcol.columnname[i] = 'pic' THEN dw_child.Object.columntype[newrow] = 1 ELSE dw_child.Object.columntype[newrow] = 0 END IF END IF END IF CONTINUE END IF newrow = dw_child.InsertRow( 0) dw_child.Object.columnname[newrow] = Lower(s_dwcol.columnname[i]) IF bl_autogetsign THEN dw_child.Object.signname[newrow] = Trim(s_dwcol.column_dscrp[i]) dw_child.Object.columntype[newrow] = -1 IF bl_autogetsign THEN IF s_dwcol.columnname[i] = 'pic' THEN dw_child.Object.columntype[newrow] = 1 ELSE dw_child.Object.columntype[newrow] = 0 END IF END IF NEXT dw_child.SetRedraw(True) end event EVENT ue_modify_mx(); // //IF dw_child_main.RowCount( ) = 0 or dw_child_mx.RowCount( ) = 0 THEN // MessageBox('系统提示','没有任何明细!') // RETURN //END IF String arg_msg = '' Long uc_row Long i uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF IF dw_child.RowCount( ) <= 0 THEN MessageBox('系统提示','没有任何明细字段!') RETURN END IF IF dw_edit_mode THEN THIS.TriggerEvent( 'retrieve_child') FOR i = 1 TO 4 dw_child.SetTabOrder ( i, 0 ) NEXT ELSE FOR i = 1 TO 4 dw_child.SetTabOrder ( i, i*10 ) NEXT // IF dw_child.RowCount( ) = 0 THEN // dw_child.InsertRow( 0) // END IF // END IF dw_edit_mode = NOT dw_edit_mode wf_new_facechange(0) END EVENT event ue_save_mx();dw_child.accepttext( ) IF dw_child.RowCount( ) = 0 THEN MessageBox('系统提示','没有任何明细!') RETURN END IF String arg_msg = '' Long uc_row Long i uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标数据库表!') RETURN END IF s_xls_table_column s_c[] Long cnt = 0,ls_tid ls_tid = dw_uc.Object.billid[dw_uc.GetRow() ] IF dw_edit_mode THEN cnt = 0 dw_child.SetFilter('') dw_child.Filter() dw_child.AcceptText( ) FOR i = 1 TO dw_child.RowCount( ) IF dw_child.Object.signname[i] <> '' THEN IF dw_child.Object.columntype[i] < 0 THEN MessageBox('系统提示','请选择该列所属的类型') dw_child.SetRow( i) dw_child.ScrollToRow( i) dw_child.SetFocus( ) dw_child.SetColumn( 'columntype') RETURN END IF cnt ++ s_c[cnt].cid = dw_child.Object.pid[i] s_c[cnt].TID = ls_tid s_c[cnt].columnname = dw_child.Object.columnname[i] s_c[cnt].signname = dw_child.Object.signname[i] s_c[cnt].columntype = dw_child.Object.columntype[i] END IF NEXT IF cnt = 0 THEN MessageBox('系统提示','没有任何明细!') RETURN END IF DELETE FROM U_XLS_BillColumn_Def Where billid = :ls_tid; IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('系统提示','删除原有明细失败!') RETURN END IF FOR i = 1 TO cnt INSERT INTO U_XLS_BillColumn_Def (ColumnID, BillID, columnname, signname, ColumnType) VALUES( :s_c[i].cid, :s_c[i].tid, :s_c[i].columnname, :s_c[i].signname, :s_c[i].columntype); IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('系统提示','插入明细操作失败' + sqlca.SQLErrText) dw_child.scrolltorow( i) RETURN END IF NEXT COMMIT; FOR i = 1 TO 4 dw_child.SetTabOrder ( i, 0 ) NEXT END IF dw_edit_mode = NOT dw_edit_mode wf_new_facechange(0) THIS.TriggerEvent( 'retrieve_child') end event event ue_add_child();// //IF NOT dw_edit_mode THEN RETURN //OpenWithParm(w_table_sign_def_ch,1) //s_xls_column_list s_col //s_col = Message.PowerObjectParm //Long i,row = 0,tabletype = -1 //IF s_col.tabletype = 0 THEN // tabletype = 0 //ELSEIF s_col.tabletype = 1 THEN // tabletype = 1 //END IF //String Len = '0' //FOR i = 1 TO UpperBound(s_col.columnname ) // IF s_col.columnname[i] = '' OR s_col.signname[i] = '' THEN CONTINUE // Len = String(Len(Lower(s_col.columnname[i])) +1) // row = dw_child.Find( "U_XLS_BillColumn_Def.columnname = '"+Lower(s_col.columnname[i])+"'", 1, dw_child.RowCount( ) ) // // // IF row <= 0 THEN row = dw_child.Find( "U_XLS_BillColumn_Def.columnname like '%_"+Lower(s_col.columnname[i])+"'", 1, dw_child.RowCount( ) ) // // IF row <= 0 THEN row = dw_child.Find( "Pos(U_XLS_BillColumn_Def.columnname,'"+Lower(s_col.columnname[i])+"') > 0", 1, dw_child.RowCount( ) ) // // IF row <= 0 THEN row = dw_child.Find( "right(U_XLS_BillColumn_Def.columnname,"+Len+") = '_"+Lower(s_col.columnname[i])+"'", 1, dw_child.RowCount( ) ) // // IF row > 0 THEN // // IF dw_child.Object.signname[row] = '' THEN // dw_child.Object.signname[row] = s_col.signname[i] // dw_child.Object.columntype[row] = s_col.tabletype // END IF // END IF //NEXT // end event event ue_tv_selectionchange();long ll_row ll_row = message.longparm dw_uc.setrow( ll_row) dw_uc.scrolltorow( ll_row) end event event ue_newbill(); Long li_row, li_cur_row,ll_parentid li_cur_row = dw_uc.GetRow() li_row = dw_uc.InsertRow (0) dw_uc.ScrollToRow (li_row) //dw_uc.SetFocus() modifyrow_no = li_row // ll_parentid = dw_uc.object.billid[li_cur_row] // dw_uc.object.rootid[li_row] = ll_parentid // dw_edit_mode = Not dw_edit_mode // wf_new_facechange(1) end event event ue_newmx(); Long li_row, li_cur_row,ll_parentid li_cur_row = dw_uc.GetRow() ll_parentid = dw_uc.object.billid[li_cur_row] li_row = dw_uc.InsertRow (0) dw_uc.ScrollToRow (li_row) //dw_uc.SetFocus() dw_uc.object.parentid[li_row] = ll_parentid dw_uc.object.rootid[li_row] = ll_parentid modifyrow_no = li_row // dw_edit_mode = Not dw_edit_mode // wf_new_facechange(1) end event public function integer wf_new_facechange (integer arg_flag); IF dw_edit_mode THEN cb_refresh_child.Enabled = FALSE cbx_autogetsign.Enabled = FALSE cb_refresh_uc.Enabled = FALSE cb_func.Enabled = FALSE cb_choice.Enabled = FALSE cb_delet.Enabled = FALSE cb_view.Enabled = FALSE cb_load.Enabled = FALSE ELSE cb_func.Enabled = TRUE cb_delet.Enabled = TRUE cb_choice.Enabled = TRUE cb_view.Enabled = TRUE cb_refresh_child.Enabled = TRUE cbx_autogetsign.Enabled = TRUE cb_refresh_uc.Enabled = TRUE cb_load.Enabled = true END IF IF arg_flag = 1 THEN IF dw_edit_mode THEN cb_cancel.Text = "放弃&E" cb_add.Text = "保存&S" cb_cancel.normalpicname = 'Undo.bmp' cb_add.normalpicname = 'Save.bmp' cb_cancel.Enabled = TRUE cb_delet.Enabled = FALSE cb_edit.Enabled = FALSE cb_save.Enabled = FALSE ELSE cb_cancel.Text = "修改&E" cb_add.Text = "新建&S" cb_cancel.normalpicname = 'OPEN.bmp' cb_add.normalpicname = 'new.bmp' cb_cancel.Enabled = TRUE cb_delet.Enabled = TRUE cb_edit.Enabled = TRUE cb_save.Enabled = FALSE dw_uc.setrow (tv_1.cur_row ) END IF dw_uc.enabled = dw_edit_mode tv_1.enabled = not dw_edit_mode ELSE IF dw_edit_mode THEN cb_edit.Text = "放弃&E" // cb_add.Text = "保存&S" cb_edit.normalpicname = 'Undo.bmp' // cb_add.normalpicname = 'Save.bmp' cb_cancel.Enabled = FALSE cb_delet.Enabled = FALSE cb_edit.Enabled = TRUE cb_save.Enabled = TRUE cb_add.Enabled = FALSE ELSE cb_edit.Text = "修改&E" // cb_add.Text = "新建&S" cb_edit.normalpicname = 'OPEN.bmp' // cb_add.normalpicname = 'new.bmp' cb_cancel.Enabled = TRUE cb_delet.Enabled = TRUE cb_edit.Enabled = TRUE cb_save.Enabled = FALSE cb_add.Enabled = TRUE END IF END IF cb_cancel.of_init_draw() cb_edit.of_init_draw() cb_add.of_init_draw() cb_edit.of_paint() cb_add.of_paint() cb_cancel.of_paint() cb_add.TriggerEvent('ue_textchange') cb_edit.TriggerEvent('ue_textchange') cb_cancel.TriggerEvent('ue_textchange') cb_save.of_init_draw() cb_save.of_paint() cb_save.TriggerEvent('ue_textchange') RETURN 1 end function on w_bill_sign_def.create int iCurrent call super::create this.dw_child=create dw_child this.cb_save=create cb_save this.cb_refresh_child=create cb_refresh_child this.tv_1=create tv_1 this.cbx_autogetsign=create cbx_autogetsign this.cb_cancel=create cb_cancel this.cb_refresh_uc=create cb_refresh_uc this.cb_load=create cb_load iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.dw_child this.Control[iCurrent+2]=this.cb_save this.Control[iCurrent+3]=this.cb_refresh_child this.Control[iCurrent+4]=this.tv_1 this.Control[iCurrent+5]=this.cbx_autogetsign this.Control[iCurrent+6]=this.cb_cancel this.Control[iCurrent+7]=this.cb_refresh_uc this.Control[iCurrent+8]=this.cb_load end on on w_bill_sign_def.destroy call super::destroy destroy(this.dw_child) destroy(this.cb_save) destroy(this.cb_refresh_child) destroy(this.tv_1) destroy(this.cbx_autogetsign) destroy(this.cb_cancel) destroy(this.cb_refresh_uc) destroy(this.cb_load) end on event retrieve_uc;ds.retrieve( ) //CALL SUPER::retrieve_uc; ds.sharedata( dw_uc) dw_uc.selectrow(0,false) dw_uc.setrow( 1) THIS.TriggerEvent( 'retrieve_child') tv_1.of_init() //messagebox(string(tv_1.cur_row) ,string(dw_uc.GetRow( ))) end event event ue_before_open; CALL SUPER::ue_before_open; dw_child.SetTransObject (sqlca) cur_ds = CREATE datastore cur_ds.SetTransObject( sqlca) ds = CREATE datastore ds.dataobject =dw_uc.dataobject ds.SetTransObject( sqlca) tv_1.ds = ds tv_1.dw = dw_uc tv_1.col_data = 'bid' tv_1.col_parentid = 'pid' tv_1.col_showtext = 'billname' tv_1.col_handle = 'handle' tv_1.rootid = '0' tv_1.tv_selectionchange = 'ue_tv_selectionchange' end event event resize; CALL SUPER::Resize; tv_1.height = THIS.Height - dw_uc.height - 310 dw_uc.x = tv_1.x dw_uc.y = tv_1.y+ tv_1.height + 10 dw_child.Width = THIS.Width - tv_1.X - 50 - tv_1.width dw_child.y=tv_1.y dw_child.x = tv_1.x+tv_1.width +10 dw_child.Height = THIS.Height - 300 end event event open;call super::open;cbx_autogetsign.backcolor=r_bar.fillcolor end event type cb_func from w_xls_publ_edit_choice`cb_func within w_bill_sign_def boolean visible = false integer x = 4946 integer y = 412 end type type cb_exit from w_xls_publ_edit_choice`cb_exit within w_bill_sign_def integer x = 2094 integer height = 168 end type type r_bar from w_xls_publ_edit_choice`r_bar within w_bill_sign_def integer x = 1961 integer width = 78 integer height = 168 end type type cb_add from w_xls_publ_edit_choice`cb_add within w_bill_sign_def integer x = 192 integer width = 197 integer height = 168 end type event cb_add::clicked; //CALL SUPER::Clicked; Long ll_newid,i,lrow String errmsg String menustr IF dw_edit_mode THEN dw_uc.AcceptText() IF dw_uc.GetNextModified(0, Primary!) = 0 THEN MessageBox("系统提示",'没有任何修改,不可以保存!') RETURN END IF lrow = dw_uc.GetRow() IF lrow = 0 THEN MessageBox("系统提示",'没有要保存的内容!') RETURN END IF dw_uc.Object.billname[dw_uc.GetRow()] = Trim(dw_uc.Object.billname[dw_uc.GetRow()]) dw_uc.Object.defaultdatawindow[dw_uc.GetRow()] = Trim(dw_uc.Object.defaultdatawindow[dw_uc.GetRow()]) dw_uc.Object.billtype[dw_uc.GetRow()] = Trim(dw_uc.Object.billtype[dw_uc.GetRow()]) IF dw_uc.Object.billname[dw_uc.GetRow()] = '' THEN MessageBox("系统提示",'输入单据名称!') RETURN END IF IF dw_uc.Object.defaultdatawindow[dw_uc.GetRow()] = '' THEN MessageBox("系统提示",'请输入默认数据窗口名称!') RETURN END IF IF NOT f_xls_chkdw(dw_uc.Object.defaultdatawindow[dw_uc.GetRow()]) THEN MessageBox("系统提示",'默认数据窗口无效!') RETURN END IF IF dw_uc.Object.billtype[dw_uc.GetRow()] = '' THEN MessageBox("系统提示",'请输入单据类型!') RETURN END IF IF dw_uc.Object.billid[dw_uc.GetRow()] = 0 THEN SELECT Max(billid) INTO :ll_newid FROM U_XLS_BillList; IF sqlca.SQLCode <> 0 THEN MessageBox('系统提示','插入新纪录失败') RETURN END IF IF IsNull(ll_newid) THEN ll_newid = 10 IF ll_newid < 10 THEN ll_newid = 10 ll_newid++ dw_uc.Object.billid[dw_uc.GetRow()] = ll_newid IF dw_uc.Object.parentid[dw_uc.GetRow()] = 0 THEN dw_uc.Object.rootid[dw_uc.GetRow()] = ll_newid END IF END IF dw_uc.AcceptText( ) 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+sqlca.SQLErrText END IF ROLLBACK; MessageBox ("系统提示",ls_errmsg+",保存操作失败!",Exclamation!,OK!) LS_UPDATE_FLAG = FALSE RETURN ELSE COMMIT; LS_UPDATE_FLAG = TRUE END IF ins_sqlerrtext = "" cb_refresh_uc.TriggerEvent( Clicked!) PARENT.TriggerEvent( 'retrieve_child') dw_edit_mode = NOT dw_edit_mode wf_new_facechange(1) ELSE m_xls_Dfc_Control_PopupMenu dmPopupMenu lrow = dw_uc.GetRow() menustr = "Text=单据~tEvent=ue_newbill" IF lrow > 0 THEN IF dw_uc.Object.parentid[lrow] = 0 THEN menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=明细~tEvent=ue_newmx" END IF END IF IF Len(Trim(menustr)) <> 0 THEN dmPopupMenu = CREATE m_xls_Dfc_Control_PopupMenu dmPopupMenu.mf_BuildMenu(THIS, menustr) dmPopupMenu.mf_PopMenu() DESTROY dmPopupMenu END IF dw_edit_mode = Not dw_edit_mode wf_new_facechange(1) dw_uc.SetFocus() END IF //parent.triggerevent( 'ue_f9') end event type cb_edit from w_xls_publ_edit_choice`cb_edit within w_bill_sign_def integer x = 1710 integer height = 168 end type EVENT cb_edit::Clicked; CALL SUPER::Clicked; PARENT.TriggerEvent( "ue_modify_mx") END EVENT type cb_delet from w_xls_publ_edit_choice`cb_delet within w_bill_sign_def integer x = 590 integer width = 160 integer height = 168 end type event cb_delet::clicked; IF MessageBox ("系统提示","是否确定要删除当前记录,和所有相应的字段标记明细和Excel模版?(选择确定后记录将不可恢复)",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.billid[dw_uc.GetRow()] select COUNT(*) into :LS_LONG from U_XLS_Templates where U_XLS_Templates.tid=:LS_id ; if SQLCA.SQLCode<>0 then MessageBox ("系统提示","数据查询操作失败!(请重试!)",Exclamation!,OK!) return end if IF LS_LONG>0 THEN MessageBox ("系统提示","请先删除所有与该单据有关的模版,再删除单据!",Exclamation!,OK!) RETURN END IF DELETE FROM U_XLS_BillColumn_Def WHERE (BillID IN (SELECT billid FROM U_XLS_BillList WHERE billid = :LS_id OR parentid = :LS_id)); IF sqlca.SQLCode <> 0 THEN MessageBox('系统提示','删除字段明细失败!') ROLLBACK; RETURN END IF DELETE FROM U_XLS_BillList Where parentid = :LS_id or billid = :ls_id; IF sqlca.SQLCode <> 0 THEN MessageBox('系统提示','删除明细失败!') ROLLBACK; RETURN END IF // //dw_uc.SetRedraw (FALSE) //dw_uc.DeleteRow (0) //dw_uc.TriggerEvent (RowFocusChanged!) commit; cb_refresh_uc.triggerevent( clicked!) //IF dw_uc.Update() = -1 THEN // ROLLBACK; // MessageBox ("系统提示","删除记录操作失败!",Exclamation!,OK!) //ELSE // COMMIT; //END IF //dw_uc.SetRedraw (TRUE) end event type cb_choice from w_xls_publ_edit_choice`cb_choice within w_bill_sign_def boolean visible = false integer x = 4997 integer y = 772 end type type dw_uc from w_xls_publ_edit_choice`dw_uc within w_bill_sign_def event ue_vscroll pbm_vscroll integer y = 1580 integer width = 1499 integer height = 692 boolean enabled = false string title = "单据列表" string dataobject = "dw_xls_billedit" boolean maxbox = true boolean vscrollbar = false end type event dw_uc::ue_vscroll;return 1 end event event dw_uc::rowfocuschanged; PARENT.TriggerEvent( 'retrieve_child') end event event dw_uc::constructor;call super::constructor;titleclick_sort_use = false //单击标题排序-功能开关 RBUTTON_FILTER_USE = false //右键查询-功能开关 setcolumn_visible_USE = false //自动保存显示列-功能开关 autosave_setlayout_USE = false //自动保存列位置及宽度-功能开关 end event event dw_uc::doubleclicked;call super::doubleclicked;if dw_edit_mode then // if dwo.name = "billtype" then open(w_system_window_ch) long ll_mainid string ls_win, ls_title ll_mainid = message.doubleparm if ll_mainid > 0 then if UpperBound(s_sys_win_open) >= ll_mainid then ls_win = s_sys_win_open[ll_mainid].Name ls_title = s_sys_win_open[ll_mainid].Title this.object.billname[row] = ls_title this.object.billtype[row] = ls_win this.object.sign[row] = f_get_pym(ls_title) end if end if // end if end if end event event dw_uc::dwnkey;call super::dwnkey;//if dw_edit_mode then // if dwo.name = "billtype" then // open(w_system_window_ch) // // long ll_mainid // string ls_win // ll_mainid = message.doubleparm // // if ll_mainid > 0 then // if UpperBound(s_sys_win_open) >= ll_mainid then // ls_win = s_sys_win_open[ll_mainid].Name // this.object.billname[row] = s_sys_win_open[ll_mainid].Title // this.object.billtype[row] = ls_win // end if // end if // end if //end if end event type cb_view from w_xls_publ_edit_choice`cb_view within w_bill_sign_def boolean visible = false integer x = 5221 integer y = 800 end type type cb_help from w_xls_publ_edit_choice`cb_help within w_bill_sign_def boolean visible = false integer x = 5239 integer y = 496 end type type ln_bar from w_xls_publ_edit_choice`ln_bar within w_bill_sign_def end type type ln_bar2 from w_xls_publ_edit_choice`ln_bar2 within w_bill_sign_def end type type dw_child from u_xls_dw_rbtnfilter within w_bill_sign_def integer x = 1499 integer y = 188 integer width = 2080 integer height = 2084 integer taborder = 20 boolean bringtotop = true string title = "表字段标记定义" string dataobject = "dw_xls_billcolumn_def" boolean maxbox = true boolean hscrollbar = true boolean vscrollbar = true end type EVENT RowFocusChanged; CALL SUPER::RowFocusChanged; THIS.SelectRow(0,FALSE) THIS.SelectRow(currentrow,TRUE) END EVENT EVENT Clicked; CALL SUPER::Clicked; THIS.SetRow( row) END EVENT event constructor; CALL SUPER::Constructor; titleclick_sort_use=true //单击标题排序-功能开关 RBUTTON_FILTER_USE=true //右键查询-功能开关 // setcolumn_visible_USE= true //自动保存显示列-功能开关 autosave_setlayout_USE = TRUE //自动保存列位置及宽度-功能开关 end event event rbuttondown;call super::rbuttondown;// //CALL SUPER::RButtonDown; ////if dw_pageretr.rowcount() = 0 then return //THIS.SetRow( row) //m_xls_dfc_control_popupmenu dmPopupMenu //String menustr // //IF dw_edit_mode THEN // menustr = "Text=添加~tEvent=ue_add_child" // menustr = menustr + "|" + "Text=-" // menustr = menustr + "|" + "Text=保存~tEvent=ue_save_mx" // menustr = menustr + "|" + "Text=取消~tEvent=ue_modify_mx" //ELSE // menustr = "Text=修改~tEvent=ue_modify_mx" //END IF // // // // //IF Len(Trim(menustr)) <> 0 THEN // dmPopupMenu = CREATE m_xls_dfc_control_popupmenu // dmPopupMenu.mf_BuildMenu(THIS, menustr) // dmPopupMenu.mf_PopMenu() // DESTROY dmPopupMenu //END IF end event event doubleclicked; //CALL SUPER::DoubleClicked; //IF NOT dw_edit_mode THEN RETURN //PARENT.TriggerEvent( "ue_add_child") end event type cb_save from uo_xls_imflatbutton within w_bill_sign_def integer x = 1902 integer width = 192 integer height = 168 integer taborder = 30 boolean bringtotop = true boolean enabled = false string text = "保存&S" string normalpicname = "Save.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type EVENT Clicked; CALL SUPER::Clicked; PARENT.TriggerEvent( "ue_save_mx") END EVENT type cb_refresh_child from uo_xls_imflatbutton within w_bill_sign_def integer x = 1518 integer width = 192 integer height = 168 integer taborder = 50 boolean bringtotop = true string text = "刷新" string normalpicname = "refresh.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type EVENT Clicked; CALL SUPER::Clicked; PARENT.TriggerEvent( 'retrieve_child') END EVENT type tv_1 from uo_xls_tree_billlist within w_bill_sign_def integer y = 188 integer width = 1499 integer height = 1392 integer taborder = 50 boolean bringtotop = true integer textsize = -11 fontcharset fontcharset = gb2312charset! fontfamily fontfamily = anyfont! string facename = "宋体" boolean linesatroot = true boolean hideselection = false boolean trackselect = true string picturename[] = {"",""} end type event constructor;return end event type cbx_autogetsign from checkbox within w_bill_sign_def integer x = 2286 integer y = 84 integer width = 567 integer height = 68 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 67108864 string text = "自动更新字段标记" end type type cb_cancel from uo_xls_imflatbutton within w_bill_sign_def string tag = "修改/放弃[Alt+E]" integer x = 393 integer width = 197 integer height = 168 integer taborder = 40 boolean bringtotop = true string text = "修改&E" string normalpicname = "open.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked; CALL SUPER::Clicked; IF dw_uc.GetRow() <= 0 THEN MessageBox('系统提示','请选择要修改的单据') 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 modifyrow_no = 0 ELSE modifyrow_no = dw_uc.GetRow() dw_uc.SetFocus() dw_uc.ScrollToRow (modifyrow_no) END IF dw_edit_mode = NOT dw_edit_mode wf_new_facechange(1) //cb_refresh_uc.triggerevent( clicked!) //PARENT.TriggerEvent( 'retrieve_child') end event type cb_refresh_uc from uo_xls_imflatbutton within w_bill_sign_def integer width = 197 integer height = 168 integer taborder = 30 boolean bringtotop = true string text = "刷新" string normalpicname = "refresh.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked; PARENT.TriggerEvent('retrieve_uc') end event type cb_load from uo_xls_imflatbutton within w_bill_sign_def integer x = 750 integer width = 288 integer height = 168 integer taborder = 50 boolean bringtotop = true string text = "导入/导出" string normalpicname = "open.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;IF MessageBox ("警告","导入功能会全部删除现有单据字段设置,可能会导致数据错误,是否要继续?",Question!,YesNo! ) = 2 THEN RETURN END IF Open(w_xls_backup) Long ins_rslt ins_rslt = Message.DoubleParm IF ins_rslt = 1 THEN //如果是导入,则刷新 cb_refresh_uc.TriggerEvent( Clicked!) END IF end event