NC技术汇总笔记总结
更新时间:2023-10-09 18:27:01 阅读量: 综合文库 文档下载
- nc技术是什么推荐度:
- 相关推荐
一.得到选中的表体行数,列数等内容(总行数和当前选中的行数) ...................................... 2 二.设置初始化界面时的默认值 ................................................................................................... 3 三.表单默认执行方法以及常用的操作 ....................................................................................... 3 四.在报表中显示合计行 ............................................................................................................... 4 五.在UI类中设置小数位数 ........................................................................................................ 5 六.将表体数据清空 ....................................................................................................................... 5 七.设置字段是否可编辑的状态 ................................................................................................... 5 八.在UI类中编写方法打印查询条件 ......................................................................................... 6 九.弹出提示框 ............................................................................................................................... 6 十.在报表中得到查询面板的值 ................................................................................................... 6 十一.比较时间的开始与结束时间 .................................................................................................. 7 十二.设置编辑公式 .......................................................................................................................... 7 十三.清空缓冲数数据getBufferData().clear(); ..................................................................... 7 十四. 在UI类中设置查询对话框的默认值 .................................................................................. 7 十五. 管理型界面单据各个类的继承关系 .................................................................................... 8 十六.是否显示行号,合计行,数组按钮,隐藏列 ...................................................................... 8 十七. 根据单据的不同状态来控制按钮的可用性。 .................................................................... 9 十八. UI工厂开发单据模式下如何自定义按钮? ...................................................................... 10 十九.需要设置动作脚本的六个按钮 ............................................................................................ 11 二十. 单据界面设置某些字段的显示与隐藏 .............................................................................. 11 二十一. 单据开发的一般步骤: .................................................................................................. 11 二十二. 界面数据访问 .................................................................................................................. 12 二十三.导出与导入数据库 ............................................................................................................ 12 二十四.list map set的操作 ............................................................................................................ 12 二十五. 改变焦点自动显示表头金额的值 .................................................................................. 13 二十六.设置行选中的状态 ............................................................................................................ 13 二十七,初始进入时默认显示卡片界面或列表界面 ................................................................. 14 二十八,在MyEventHandler类中,在onBoSave()中验证必输项 .............................................. 14 二十九.多页签得到某一页签到的行数 ........................................................................................ 15 三十,判断日期的前后 ................................................................................................................. 15 三十一.验证表头的必输项不能为空 ............................................................................................ 16 三十二,执行表体编辑公式 ......................................................................................................... 16 三十三,ECLIPSE中代码不显示行号 ........................................................................................ 17 三十四,在ECLIPSE中添加反编译 ........................................................................................... 17 三十五,编辑后事件的处理 ......................................................................................................... 17 三十六,编辑前事件的处理 ............................................................................................................ 17 三十七。编辑事件设某一个字段不能编辑 ................................................................................. 18 三十八.在保存的时候,验证表体不能为空/ .................................................................................. 18 三十九.删除表体某一行触发的事件 ............................................................................................ 18 四十,UI类中初始化设置 ........................................................................................................... 18 四十一,YES OR NO 对话框 ...................................................................................................... 19 四十二.得到选中的行数与得到选中行数的行号的数组,数组以0开头 ................................ 19 四十三.对VO的操作,聚合VO,得到表体,表体某一个页签的VO ................................... 19 四十四.添加一个自定义的按钮 .................................................................................................... 20
四十五.取得某一个页签下的记录的行数 .................................................................................... 21 四十六. 修改的时候,清空批号想要保存到数据库必须设置行的状态 .................................. 21 四十七.执行表头的公式 ................................................................................................................ 21 四十八.根据不同的条件,过滤不同的参照记录 ........................................................................ 21 四十九,获取表体当前操作页签 ................................................................................................. 22 五十,输入开始和结束日期,从开始到结束日期每天都列出来 ............................................. 22 五十一,在列表状态下,根据单据的状态,确定按钮是否可用 ............................................. 23 五十二,不管在是列表还是卡片面下取得表头或表体的值 ..................................................... 23 五十三,UFDouble型的数据变成两位小数的字符型,或零位小数 .......................................... 24 五十四,系统按钮的操作 ................................................................................................................ 24 五十五,SQL查询时将字符转换成小数型 ................................................................................ 24 五十六,删除单页签表体删除行,以及增行 ............................................................................. 24 五十七,多页签表体删除行,增行 ............................................................................................. 25 五十八,得到月份,年份 ............................................................................................................. 25 五十九,如何得到多页签到指定的子VO .................................................................................. 25 六十:删除表体行 ........................................................................................................................... 25 六十一.传过一个主键的数组,如何组装成‘主键’,‘主键’的形式 ................................ 25 六十二.导出TXT文本 .................................................................................................................. 26 六十三,删除表体的记录行 ......................................................................................................... 29 六十四.确定某一列在模板上位置 ................................................................................................ 29 六十五.单据添加复选,判断选中的记录行 ................................................................................ 29 六十六,判断按钮的状态是否可用 ................................................................................................ 30
一.得到选中的表体行数,列数等内容(总行数和当前选中的行数)
//得到选中的列数
selCol=getBillCardPanelWrapper().getBillCardPanel().getBillTable().getSelectedColumn();
//得到当前选中列的索引
colIndex=getBillCardPanel().getBillTable().convertColumnIndexToModel(selCol);
//得到选中的行号从0开始
iSelRow= getBillCardPanel().getBillTable().getSelectedRow(); /得到当前选中的行
i = getReportBase().getBillTable().getSelectedRow(); //得到表体一共有多少行/
this.getBillCardPanel().getRowCount();
//判断是否选中行
if(getSetInBalPriceUI().getBillCardPanel().getBillTable().getSelectedRow() == -1)
{ getSetInBalPriceUI().showErrorMessage(\请选择表体数据行!\ return; }
//判断选中的某一行的某一列是否为空
if (getSetInBalPriceUI().getBillCardPanel().getBodyValueAt(selectRow, \
getSetInBalPriceUI().showErrorMessage(\请录入发货单位!\//得到某一行某一列指定的值 sys_shipper_id=
getSetInBalPriceUI().getBillCardPanel().getBodyValueAt(selectRow, \
//得到当前选中行的指定的某一列
(String)getReportBase().getBodyValueAt(i,\this.getBillCardPanel().setBodyValueAt(值,行,列); this.getBillCardWrapper().getBillCardPanel(); //获取表体第i行字段值
getBillCardPanel().getBodyValueAt(i.\字段\
二.设置初始化界面时的默认值
/**
* 初始化卡片界面时加载的默认属性在UI中 */
public void setDefaultData() throws Exception {
//单据类型 87 getBillCardPanel().setHeadItem(\IBillType.CY_DYAPPLYPLAN);
//制单日期默认值 getBillCardPanel().setTailItem(\ }
三.表单默认执行方法以及常用的操作
//自定义按钮处理事件,在自定义按钮的时候会定义一个值,根据传过来的值判断处理哪个事件执行哪个方法,在MyEventHandler类
protected void onBoElse(int intBtn) throws Exception {} * 表单编辑
protected void onBoEdit() throws Exception {} *表单删除
protected void onBoDelete() throws Exception {} * 表单保存
protected void onBoSave() throws Exception {} * 表单取消
protected void onBoCancel() throws Exception {}
* 表单编辑后事件UI类中
public void afterEdit(BillEditEvent evt) { }
* 表单编辑前事件UI类中
public boolean beforeEdit(BillEditEvent evt) {
String colStr = evt.getKey();
If(colStr.equals(“字段名”)){return false;}//设置某一个字段不可编辑
}
// TODO 自动生成方法存根 return super.beforeEdit(arg0);
super.afterEdit(evt);
String colStr = evt.getKey(); int rowCount = evt.getRow();
* 表单标签改变事件UI
public void afterTabChanged(BillTabbedPaneTabChangeEvent arg0) {
String TabName = arg0.getBtvo().getTabcode(); System.out.println(TabName);
if (TabName.equals(\
this.getBillCardPanel().getBillModel(\
{ //设置标签fk_cm_consub可编辑
//设置当选中fk_cm_contract1这个标签时,子表的第一个标签到选中显示//设置标签fk_cm_consub不可编辑 }
this.getBillCardPanel().getBodyTabbedPane().getModel().setSelectedIndex(0); this.getBillCardPanel().getBillModel(\
* UI类中行改变事件
public void bodyRowChange(BillEditEvent ev) {
// TODO 自动生成方法存根 super.bodyRowChange(ev);
int a = ev.getRow();//得到当前选中的行
int a = this.getBillCardPanel().getBillTable().getSelectedRow(); String b = this.getBillCardPanel().getBodyValueAt(行号, \字段值\;
}
四.在报表中显示合计行
protected void onQuery() throws Exception
{
String pk_corp = this.getCorpPrimaryKey();
//设置表头面板显示表头查询条件和打印时表头显示信息 createConditionAndHeadPrintInfo(); //显示查询结果
CircularlyAccessibleValueObject[]results= getQueryResult(port);
ReportBaseVO tvo = new ReportBaseVO(); tvo.setAttributeValue(\合计\ //添加合计
if(results != null && results.length>0){ CircularlyAccessibleValueObject[]nvos=new
CircularlyAccessibleValueObject[results.length+1]; UFDouble totalnum = new UFDouble(0); for(int i=0;i totalnum= totalnum.add((UFDouble)results[i].getAttributeValue(\ nvos[i]=results[i]; } tvo.setAttributeValue(\ nvos[results.length]=tvo; getReportBase().setBodyDataVO(nvos); this.getReportBase().setBodyValueAt(\合计\ } if(results==null||results.length<=0){ getReportBase().setBodyDataVO(results); showHintMessage(\没有可显示数据\; } } } 五.在UI类中设置小数位数 public ArrearsComStaUI() { super.setTitleText(\欠款单位表\); //设置小数位数: this.setColumnDecimal(new String[]{\ new int[]{0,0,0,0,0,0,0}); 或是: this.getReportBase().getBody_Item(\} 六.将表体数据清空 this.getBillCardPanel().getBillModel().clearBodyData(); 七.设置字段是否可编辑的状态 /* 发运开始日期 结束日期 编辑控制 在运输方式是地销时 可编辑 其他不可编辑 if(colStr.equals(\ String str = this.getBillCardPanel().getHeadItem(\ if(str != null && !str.trim().equals(\ if(ITargetPrimaryID.CARCONVEYANCE_CONVEY.equals(str)){ else{ this.getBillCardPanel().setHeadItem(\this.getBillCardPanel().setHeadItem(\ this.getBillCardPanel().getHeadItem(\this.getBillCardPanel().getHeadItem(\this.getBillCardPanel().getHeadItem(\this.getBillCardPanel().getHeadItem(\; } 八.在UI类中编写方法打印查询条件 protected void createConditionAndHeadPrintInfo() { } this.showCondition(this.createConditionsFromConditionVO(this .getQryDlg().getConditionVO())); this.updateUI(); 九.弹出提示框 MessageDialog.showOkCancelDlg(getDyApplyPlanUI(), \提示\\你确定要下发该单据吗?\//弹出对话框 nc.ui.pub.beans.MessageDialog.showHintDlg(getBillUI(), \提示\\客户基本档案更新成功!!\ 十.在报表中得到查询面板的值 protected void onQuery() throws Exception { getQryDlg().showModal(); if (getQryDlg().getResult() == QueryDLG.ID_OK) { //取得查询日期 String port = null;//港口 ConditionVO[] cndvos = getQryDlg().getConditionVO(); for(int i=0;i if(\ port = cndvos[i].getValue().trim(); } } 十一.比较时间的开始与结束时间 if(begindate.compareTo(enddate) > 0){ getSetInBalPriceUI().showErrorMessage(\【起始日期】不能超过【结束日期】!\ return; } 十二.设置编辑公式 // 表体显示公式 String[]bodyForm=newString[] {\)\ for (int i = 0; i < assayInfo.length; i++) { super.onBoLineAdd();//增行 //为表体某一行赋值 getSetInBalPriceUI().getBillCardPanel().setBodyValueAt((String)assayInfo[i].getAttributeValue(\//执行表体公式 getSetInBalPriceUI().getBillCardPanel().getBillModel().execFormulas(i, bodyForm);// } 十三.清空缓冲数数据getBufferData().clear(); 十四. 在UI类中设置查询对话框的默认值 格式:2009-01 protected QueryDLG createQueryDLG() { ZBReportBaseDLG dlg = new ZBReportBaseDLG(); dlg.setTempletID(getUIControl()._getPk_corp(), getUIControl() ._getModuleCode(), getUIControl()._getOperator(), null); dlg.setValueRef(\dlg.setValueRef(\// 设置默认的选择当前年 QueryConditionVO[] qryvos = dlg.getConditionDatas(); for (int i = 0; i < qryvos.length; i++) { if (qryvos[i].getFieldCode().equals(\ qryvos[i].setValue(this.getClientEnvironment().getDate().toString().substring(if (qryvos[i].getFieldCode().equals(\ qryvos[i].setValue(this.getClientEnvironment().getDate().toString().substring(return dlg; } 0,7));} 0,7));}} 十五. 管理型界面单据各个类的继承关系 前台界面类:ClientUI extends BIllManageUI 1. 重写父类方法protected BusinessDelegator createBusinessDelegator() 返回前台界面业务委托类的具体实现。 2. 重写父类方法protected ManageEventHandler createEventHandler() 返回前台事件处理(按钮处理器)类的具体实现。 3. 重写父类方法protected AbstractManageController createController() 返回前台控制类的具体实现。 4. 重写父类方法protected void initPrivateButton() 添加私有按钮 addPrivateButton((new DeleteAllbutnVO()).getButtonVO()) 5. 重写父类方法protected void initSelfData() 6. 重写父类方法public void setDefaultData() throws Exception 设置默认数据 事件处理类:TestEventHandler extends ManageEventHandler 重写父类各种单据按钮事件,完成具体的事件动作实现。如: 1. 重写查询类 protected void onBoQuery() throws Exception { } protected void onBoElse(int intBtn) throws Exception { } super.onBoQuery(); 2. 重写其他按钮动作事件处理,比如(导入等) super.onBoQuery(); 十六.是否显示行号,合计行,数组按钮,隐藏列 1. 列表状态下是否显示行号 public boolean isShowListRowNo() { } return false; 2. 卡片状态下是否显示行号 public boolean isShowCardRowNo() { } public boolean isShowCardTotal() { } public boolean isShowListTotal() { } public int[] getCardButtonAry() { } public int[] getListButtonAry() { } public String[] getCardBodyHideCol() { } public String[] getListHeadHideCol() { } return null; return null; return new int[] { IBillButton.Add, IBillButton.Query, }; IBillButton.Save, IBillButton.Edit, IBillButton.Del, IBillButton.Card, IBillButton.Cancel, IBillButton.Print, ISHTestButton.DeleteAllButton, return new int[] { IBillButton.Add, IBillButton.Query, }; IBillButton.Save, IBillButton.Edit, IBillButton.Del, IBillButton.Line, IBillButton.Cancel, IBillButton.Print, IBillButton.Return, return false; return false; return false; 3. 卡片状态下是否显示合计 4. 列表状态下是否显示合计 5. 返回卡片状态下按钮数组 6. 返回列表状态下按钮数组 7. 返回卡片状态表体隐藏列 8. 返回列表状态表头隐藏列 十七. 根据单据的不同状态来控制按钮的可用性。 在UI工厂中,系统预置的按钮事件是在onButtonClicked()方法中处理,自定义的按钮在onBoElse()方法中处理。 protected void onBoElse(int intBtn){ switch(intBtn){ case ITestButton.DeleteAll:{ onDeleteAll(); break; } } 十八. UI工厂开发单据模式下如何自定义按钮? 1. 建立一个自定义按钮的接口:ITestButton 定义按钮的ID值,自定义按钮的ID必须大于100 public interface ITestButton{ int DeleteAll = 101; } 2. 创建一个按钮的VO类 public class DeleteAllVO{ public nc.vo.trade.button.ButtonVO getButtonVO(){ ButtonVO btnVo = new ButtonVO(); btnVo.setBtnNo(ITestButton.DeleteAll); btnVo.setBtnName(\删除全部\ btnVo.setHintStr(\删除本单据全部数据\ btnVo.setOperateStatus(new int[] {IBillOperate.OP_ADD}); btnVo.setBusinessStatus(new int[] {IBillStatus.FREE}); return btnVo; } 3. 在控制类中将自定义按钮添加到界面上 public int[] getCardButtonAry(){ return new int[]{ IBillButton.ADD, ITestButton.DeleteAll }; } 4. 在UI类里面实例化自定义按钮并实例化 protected void initPrivateButton(){ ButtonVO deleteAll = (new DeleteAllVO).getButtonVO(); addPrivateButton(deleteAll); } 5. 在控制类中响应按钮事件并实现自定义按钮的事件处理 protected void onBoElse(int intBtn){ switch(intBtn){ case ITestButton.DeleteAll:{ onDeleteAll(); break; } } protected void onDeleteAll(){ //具体实现 三十一.验证表头的必输项不能为空 首先写一个方法: // 获取表头数据 public String getHeadInfo(String info) { } return .getValue(); getContractMonthMngUI().getBillCardPanel().getHeadItem(info) //在onbosave()方法中调用方法 if (checkIsNull_Head()) { } return; private boolean checkIsNull_Head() { if (getHeadInfo(\) == null) { } getContractMonthMngUI().showErrorMessage(\出卖人不能为空\); return true; getContractMonthMngUI().showErrorMessage(\签订时间不能为空\); return true; } else if (getHeadInfo(\).trim().length() == 0) { return false;} 三十二,执行表体编辑公式 在UI类的public void afterEdit(BillEditEvent a) { super.afterEdit(a); String str = a.getKey().trim(); if(str.equals(\)//点击车型 { String[] bodyform={\ \ \ for(int i= 1 ;i < this.getBillCardPanel().getRowCount();i++){ //执行表体编辑公式 this.getBillCardPanel().execBodyFormulas( i, bodyform); } } 也可以在MyEventHandler中自定义按钮的方法中写 三十三,ECLIPSE中代码不显示行号 window => preferences => general => editors => text editors => 右边show line numbers 打上勾确定即可 三十四,在ECLIPSE中添加反编译 添加反编译 Window => Preferences => java => JadClipse => 右边path to decompiler: (路径为:elcipse工具所在文件夹下的jad\\jad.exe) 例如 D:\\btv\\tools\\eclipse\\jad\\jad.exe (eclipse工具在)D:\\btv\\tools文件夹下 三十五,编辑后事件的处理 public void afterEdit(BillEditEvent evt) { super.afterEdit(evt); String colStr = evt.getKey(); int rowCount = evt.getRow();} 三十六,编辑前事件的处理 public boolean beforeEdit(BillEditEvent et) { String head = this.getBillCardPanel().getHeadItem(\运输方式 if(ITargetPrimaryID.SEA_CONVEY.equals(head) && et.getKey().equals(\ return false; } if(ITargetPrimaryID.SEA_CONVEY.equals(head) && et.getKey().equals(\ return false; } if(ITargetPrimaryID.SEA_CONVEY.equals(head) && et.getKey().equals(\ return false; } return true; } 三十七。编辑事件设某一个字段不能编辑 public void onBoEdit() throws Exception{ getMonApplyPlanMngUI().getBillCardPanel().getHeadItem(\ getMonApplyPlanMngUI().getBillCardPanel().initPanelByPos(0); } super.onBoEdit(); h\).setEnabled(false); 三十八.在保存的时候,验证表体不能为空/ public void onBoSave() throws Exception { if(getMonApplyPlanMngUI().getBillCardPanel().getHeadItem(\\).getValue()==null||getMonApplyPlanMngUI().getBillCardPanel().getHeadItem(\).getValue().equals(\)){ getMonApplyPlanMngUI().showWarningMessage(\表头[请车月份]不能为空!\); return; } // 保存时更新最后修改人 getMonApplyPlanMngUI().getBillCardPanel().setTailItem(\\,_getOperator()); // 保存时更新最后修改时间 getMonApplyPlanMngUI().getBillCardPanel().setTailItem(\e\,_getDate()); super.onBoSave(); } 三十九.删除表体某一行触发的事件 protected void onBoLineDel() throws Exception {} 四十,UI类中初始化设置 /** * 初始化设置 */ protected void init() { //设置是否显示小数列的千分位 getReportBase().setShowThMark(true); //设置是否显示合计列 getReportBase().setTatolRowShow(false); //设置不显示零 getReportBase().getBodyPanel().getRendererVO().setShowZeroLikeNull(true); //设置是否显示行号 getReportBase().setRowNOShow(true); } //设置是否隐藏条件面板 getConditionPanel().setVisible(true); 四十一,YES OR NO 对话框 int ok = getGatheringMngUI().showYesNoCancelMessage(\是否确认余额查询操作?\);// 是:4// 否:8// 取消:2 if (ok == 4) { IGatheringMng item = (IGatheringMng) NCLocator.getInstance() .lookup(IGatheringMng.class.getName()); if(getBillManageUI().isListPanelSelected()) getBillManageUI().setCurrentPanel(\); getBufferData().updateView(); 四十二.得到选中的行数与得到选中行数的行号的数组,数组以0开头 int[] iaSelectedRow = getBalanceMngUI().getBillListPanel().getHeadTable().getSelectedRows(); int row = getBalanceMngUI().getBillListPanel().getHeadTable() .getSelectedRowCount(); 四十三.对VO的操作,聚合VO,得到表体,表体某一个页签的VO //结算调整单管理,聚合vo MultiBillVO multiBillVO= (MultiBillVO)getBufferData().getCurrentVO(); //结算调整单管理,表头vo FkSbmBalchVO fkSbmBalchVO = (FkSbmBalchVO)multiBillVO.getParentVO(); //结算调整单管理,表体明细页签vo FkSbmBalchbVO[] fkSbmBalchbVOs = (FkSbmBalchbVO[])multiBillVO.getTableVO(\//结算调整单管理,表体汇总页签vo FkSbmBalchb2VO[] fkSbmBalchb2VOs = (FkSbmBalchb2VO[])multiBillVO.getTableVO(\ 四十四.添加一个自定义的按钮 1. 在nc.ui.fk.pub.button.PubPrivateButton 接口里面定义一个 //自定义按钮:表体批号清空 int btnClear = 241; 2. 在nc.ui.fk.pub.button.PubPrivateButtonVO中定义 /** * 批号清空 * @return */ // getBtnClearVO名字自己随便取 public ButtonVO getBtnClearVO(){ } ButtonVO btnCancelAssignVO = new ButtonVO(); btnCancelAssignVO.setBtnNo(PubPrivateButton.btnClear); btnCancelAssignVO.setBtnCode(\批号清空\); btnCancelAssignVO.setBtnName(\批号清空\); btnCancelAssignVO.setHintStr(\批号清空\); btnCancelAssignVO.setBtnChinaName(\批号清空\); btnCancelAssignVO.setOperateStatus(new btnCancelAssignVO.setExtendStatus(new return btnCancelAssignVO; int[]{IBillOperate.OP_ADD,IBillOperate.OP_EDIT}); int[]{nc.vo.trade.pub.IBillStatus.ALL} ); 3. 在想要加入该按钮的包下的nc.ui.fk.cy.mapm.MonApplyPlanMngUICtrl中 getCardButtonAry()或getListButtonAry()方法中加入按钮PubPrivateButton.btnClear 4. 在UI类中初始化该按钮 /** * LMJ 20090921批号清空*/ @Override protected void initPrivateButton() { ButtonVO clear = (new PubPrivateButtonVO()).getBtnClearVO(); addPrivateButton(clear);} 5. 在EV类里面实现按钮的方法 protected void onBoElse(int intBtn) throws Exception { } if (intBtn == PubPrivateButton.btnClear) //批号清空 { } onClearPihao(); 6. 在EV类中实现onClearPihao() /** * 清空表体的所有批号*/ public void onClearPihao(){ int rowCount = getMonApplyPlanMngUI().getBillCardPanel().getRowCount(); for (int i = 0; i getMonApplyPlanMngUI().getBillCardPanel().setBodyValueAt(null, i, \); } } 四十五.取得某一个页签下的记录的行数 // 获取表体日发煤计划页签中的记录条数 int dayplanrow = getAttemperBillMngUI().getBillCardPanel() .getBillModel(\ 四十六. 修改的时候,清空批号想要保存到数据库必须设置行的状态 getMonApplyPlanMngUI().getBillCardPanel().getBillModel().setRowState(i, BillModel.MODIFICATION); 四十七.执行表头的公式 Afteredit() if (str.equals(\)) {//结算单位 String[] headform = { \_id,cbalcompany_id)\ //账号}; getBillCardPanel().execHeadFormulas(headform); } 四十八.根据不同的条件,过滤不同的参照记录 if (str.equals(\)) { UIRefPane nRefPanel = (UIRefPane) getBillCardPanel().getBodyItem(\, \).getComponent(); nRefPanel.setIsCustomDefined(true); int iRow=0; iRow=getBillCardPanel().getBillTable(\).getSelectedRow()model.setTemp_pk(getBillCardPanel().getBillModel(\).getValueAt(iRow, \).toString()); nRefPanel.setRefModel(model); 参照类:FaZhanRefModel public String getWherePart() { String strWherePart = super.getWherePart(); String strSql = \ctargetfile_id = '1001AA1000000002Q91J' and dr = 0 and (isclose is null or isclose='N') \; if (this.getTemp_pk() != null && !(this.getTemp_pk().equals(\汽车\) || this.getTemp_pk().equals(\翻车\))) { FaZhanRefModel model = new FaZhanRefModel(); strSql = strSql + \and vnote = '\ + getTemp_pk().trim() + \; } if(strWherePart == null || \.equals(strWherePart.trim())) strWherePart = strSql; else strWherePart = strWherePart + strSql; return strWherePart; } //自已有一个变量getTemp_pk //设置参照默认选中第一个元素 if((getBillCardPanel().getBillModel(\).getValueAt(iRow, \).toString()).equals(\路车\)) { Vector aa = (Vector)(nRefPanel.getRefModel().getRefData().firstElement()); String pk = (String)aa.get(aa.size()-1); this.getBillCardPanel().setBodyValueAt(pk, iRow, \); this.getBillCardPanel().getBillModel().execLoadFormula(); 四十九,获取表体当前操作页签 //获取表体当前操作页签,0为汇总页签,1为明细页签 int flag = getBalanceMngUI().getBillCardPanel().getBodyTabbedPane().getModel().getSelectedIndex(); 五十,输入开始和结束日期,从开始到结束日期每天都列出来 UFDate doperatordate1 = new UFDate(startdate); UFDate doperatordate2 = new UFDate(); UFDouble tl_xcoal = new UFDouble(0); //铁路合计_西露天矿 UFDouble tl_lcoal = new UFDouble(0); //铁路合计_老虎台矿 while (rs.next()) { countrow = countrow + 1; doperatordate2 = new UFDate(rs.getString(\)); //制单日期 int countday = UFDate.getDaysBetween(doperatordate1, doperatordate2); //统计相差天数 if(countrow == 1) {for(int i = 0; i < countday; i++) {FkCstatetVO vo = new FkCstatetVO(); vo.setDayobject(doperatordate1.getDateAfter(i).toString()); protected void initSelfData() { getBillCardPanel().getBodyPanel().getRendererVO().setShowZeroLike Nullfalse);// 数值为0时显示} 五十一,在列表状态下,根据单据的状态,确定按钮是否可用 public void updateButtons() { if (this.getBillOperate() != IBillOperate.OP_ADD } && this.getBillOperate() != IBillOperate.OP_EDIT) { .setEnabled(true); this.getButtonManager().getButton(PubPrivateButton.btnInvoice) int[] selectRows = if(selectRows.length > 0) {int i = 0; for (i = 0; i < selectRows.length; i++) {String vuserdef20 = this.getBillListPanel().getHeadTable().getSelectedRows(); this.getBillListPanel().getHeadBillModel().getBodyValueRowVO(selectRows[i], FkSbmBalVO.class.getName()).getAttributeValue(\) == null ? \ : this.getBillListPanel().getHeadBillModel().getBodyValueRowVO(selectRows[i], FkSbmBalVO.class.getName()).getAttributeValue(\).toString(); } if(i >= selectRows.length) { if(vuserdef20.equals(\)) {break;} this.getButtonManager().getButton(PubPrivateButton.btnSoTax).setE nabled(true); //导出金税 this.getButtonManager().getButton(PubPrivateButton.btnSoTax2).setEnabled(true); //合并导出金税 }else { this.getButtonManager().getButton(PubPrivateButton.btnSoTax).setE nabled(false); //导出金税 this.getButtonManager().getButton(PubPrivateButton.btnSoTax2).setEnabled(false); //合并导出金税 }} super.updateButtons(); } 五十二,不管在是列表还是卡片面下取得表头或表体的值 //得到表头的金额 UFDouble headmoney =((FkSbmGatherVO)this.getBufferData().getCurrentVO().getParentVO()).getDprice(); //结算单位 String cbalance_id = ((FkSbmGatherVO)this.getBufferData().getCurrentVO().getParentVO()).getCbalance_id(); 五十三,UFDouble型的数据变成两位小数的字符型,或零位小数 money_tax.setScale(-2, UFDouble.ROUND_HALF_UP).toString() money_tax.setScale(0, UFDouble.ROUND_HALF_UP).toString() 五十四,系统按钮的操作 public void onbutton(buttonobject b){} public void onbutton(buttonobject b){ super.onbutton(b); if(\ || \ || \ || \ setcolumnvalue2(); } } 五十五,SQL查询时将字符转换成小数型 Select sum(cast(fk_sbm_balb2.vuserdef2 as decimal(19,2))) vuserdef2 五十六,删除单页签表体删除行,以及增行 // 删除表体所有行 int row = getCarriageMngUI().getBillCardPanel().getRowCount(); getCarriageMngUI().getBillCardPanel().getBillModel().delLine(r); } if (row > 0) { int r[] = new int[row]; for (int i = 0; i < row; i++) { } r[i] = i; getCarriageMngUI().getBillCardPanel().addLine(); 五十七,多页签表体删除行,增行 BillModel sbmb2=this.getBillCardPanel().getBillModel(\汇总页签 int row[] = new int[1]; if(rowCount2 > 0){ for (int i = 0; i < rowCount2; i++){ }} row[0] = i; sbmb2.delLine(row); //删行操作 i = i-1; rowCount2 = rowCount2 - 1; 五十八,得到月份,年份 UFDate da=new UFDate(); da=new UFDate(str); int month=da.getMonth(); int lmonth=this.getBillUI().getEnvironment().getDate().getMonth(); 五十九,如何得到多页签到指定的子VO MultiBillVO millbillv = (MultiBillVO)this.getBufferData().getCurrentVO(); FkCySendbsub1VO[] svo = (FkCySendbsub1VO[])millbillv.getTableVO(\); 六十:删除表体行 int allRow = getBillCardPanel().getBillTable().getRowCount();//获取当前表体总行数 for (int row = 0; row <= allRow; row++) { super.onButtonClicked(getButtonManager().getButton(IBillButton.De lLine));//执行删除行操作,清空表体行 } 六十一.传过一个主键的数组,如何组装成‘主键’,‘主键’的形式 方法一: public void updateIsBalance(String lastid[],String cbusitype_id)
正在阅读:
NC技术汇总笔记总结10-09
党风廉政建设学习月活动材料02-23
操作系统文件加密系统课程设计报告10-03
新职业英语 第二版 职业综合英语1 教案unit711-15
民主化的中国模式06-11
电气运行试题(300MW机组)06-06
心灵的甘露作文600字07-11
爷爷,我想你作文500字07-01
生活与哲学唯物辩证法的发展观 - 图文03-08
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 汇总
- 总结
- 笔记
- 技术
- 旧房交易,需要缴纳土地增值税
- 2014年造价工程师《建设工程造价案例分析》真题及答案解析
- 《烟草专卖法》讲义
- 新编实用英语综合教程1第二版答案
- 土地出让和耕地保护违法情况处理处罚及法规参考
- Web认证配置
- 航海学试卷6 - 图文
- 资料员考试试题
- 中南大学考试试卷 答案三
- 2017年电大电大C语言程序设计形成性考核册答案(-)
- 南昌市乡镇级小额建设工程招标投标交易操作规范(修订稿)
- 江苏省大学生菁英人才学校第五期培训班
- 劳动法学随堂练习题库及答案(2013上半年)
- 牛津英语9A Unit1 Grammar 教案及练习(含答案)
- 2014年12月网络教育统考《计算机应用基础》统考考前押题—基础知识
- 党组书记任职期间履行干部选拔任用工作职责情况报告
- 数控机床综合练习二
- 机械制图习题集模块二
- 西安科技大学安全工程概论作业
- 2015山西教师招聘考试《教育学》专项练习题:德育(二)