- 浏览: 14430 次
- 性别:
- 来自: 重庆
最新评论
-
buguspring:
不知道有没有源代码啦!
图书管理系统 -
ruanjingwang:
可惜没有源码
超市管理 -
孟雪雪:
能发我一份吗?651463679@qq.com 想学习一下 谢 ...
网上商城后台管理系统 -
悲伤诠释:
能不能给发一份!!我想参考一下!!多谢楼主!!
有的话给我发 ...
网上商城后台管理系统
1、单据设置某行或某字段不能修改 //i是行号,"cash"是字段名称 getBillCardPanelWrapper().getBillCardPanel().getBillModel().setCellEditable(i, "cash", false); //取得单据表体所有项用以上语句做循环就能设置整行了 getBillCardPanelWrapper().getBillCardPanel().getBodyItems(); 2、判断是否在卡片状态下 public boolean isCardPanel(){ boolean istrue = true; ButtonObject[] buobj = super.getButtons(); for(int i = 0 ;i<buobj.length;i++){ String btnName = buobj[i].toString(); Object btnStatus = buobj[i].isEnabled(); //列表显示返回false if("卡片显示".equals(btnName) && btnStatus.equals(true)){ istrue = false; break; } } return istrue; } 3、JTree中得到当前选择节点的最末级子节点 1)、构造树的时候已经把数据按编码进行了排序,而且编码类似于这样:1401->140101 140102 .并将对象VO放到DefaultMutableTreeNode的userObject中. 2)、选择树时,可以通过这行代码得到选择的节点 DefaultMutableTreeNode node = (DefaultMutableTreeNode)treePath.getLastPathComponent(); BudgetTargetVO vo = (BudgetTargetVO)node.getUserObject(); 3)、得到选择节点node的最后一个子节点 DefaultMutableTreeNode nn = (DefaultMutableTreeNode)node.getLastChild(); nn即为当前选择节点的编码最大的子节点... 4、在UI画面上设置一个按钮的快捷键 调用ButtonObject的下面两个方法即可 1> setModifiers(int modifiers) 设置任意修饰符,可以调用NCKey类中的常量,如:NCKey.MODIFIERS_ALT 2> setHotKey(String keyStr) 设置任意快捷键,如:"G"。 假如我们创建了一个ButtonObject类型的对象按钮bnObj,通过下面的设置,就可以指定按钮的快捷键为:alt+G bnObj.setModifiers(NCKey.MODIFIERS_ALT); bnObj.setHotKey("G"); 5、nc后台怎么得到当前的登录用户 String usercode = nc.bs.framework.common.InvocationInfoProxy.getInstance().getUserCode(); (nc.ui.pub.ClientEnvironment.getInstance().getUser()这个在前台用) 6、前台更新语句 nc.itf.uif.pub.IUifService srv=(nc.itf.uif.pub.IUifService)NCLocator.getInstance().lookup("nc.itf.uif.pub.IUifService"); ------------------------------------------------------------------------------------ 7、 在单据初始化的时候就把表体某些字段的默认颜色修改为红色 getBillListPanel().getBodyBillModel().setFont(new Font(null,Font.PLAIN,20)); ------------------------------------------------------------------------------------ 8、查询条件主子转换 public void onBoQuery() throws Exception{ StringBuffer strWhere = new StringBuffer(); if (askForQueryCondition(strWhere) == false) return;// 用户放弃了查询 SuperVO[] queryVos = queryHeadVOs(convertSqlWhere(strWhere,"kyss_install_b", new String[]{"kyss_install_b.vdebugid","kyss_install_b.vinstallid","kyss_install_b.dhd_spname"}, "pk_install")); getBufferData().clear(); addDataToBuffer(queryVos); updateBuffer(); } /** * 转换查询模板中的子表条件为主表条件,子表条件应与查询模板中一致 * @param strWhere * @param tab_b 子表名 * @param fields 子表条件项 * @param refField 关联的主表pk * @return * @throws Exception */ public String convertSqlWhere(StringBuffer strWhere,String tab_b,String[] fields,String refField) throws Exception{ String str = ""; String newSql = strWhere.toString(); for (int i = 0; i < fields.length; i++) { ConditionVO[] vo = ((HYQueryDLG) getQueryUI()).getConditionVOsByFieldCode(fields[i]); if (!Toolkit.isEmpty(vo)) { if (!Toolkit.isEmpty(vo[0].getValue())) { str = vo[0].getValue(); } if (!Toolkit.isEmpty(vo[0].getValue())) { newSql = Toolkit.replaceAll(newSql, fields[i], "'1'"); newSql = Toolkit.replaceAll(newSql, str, "1"); newSql = newSql + " and "+refField+" in ("; newSql = newSql + " select pk_install from "+tab_b; newSql = newSql + " where "+fields[i]+" = '" + str + "' and nvl(dr, 0) = 0)"; } } } return newSql; } getBillCardPanel().getBillModel("costs").setValueAt(oVer,arow,"pver"); //修改行状态 bm.setRowState(arow, BillModel.MODIFICATION); ------------------------------------------------------------------------------------ 9、判断表体列不重复 public int uniqueCheck(BillModel bm,String[] code){ int res= -1; HashMap hm=new HashMap(); for(int i=0;i<bm.getRowCount();i++){ String key="key"; for(int j=0;j<code.length;j++){ key+=bm.getValueAt(i,code[j])==null?"":bm.getValueAt(i,code[j]).toString(); } if(hm.containsKey(key)){ return i+1; } hm.put(key, i+""); } return res; } public int uniqueCheck(CircularlyAccessibleValueObject[] cvos,String[] code){ int res= -1; HashMap hm=new HashMap(); for(int i=0;i<cvos.length;i++){ String key="key"; for(int j=0;j<code.length;j++){ key += cvos[i].getAttributeValue(code[j]) == null? "" : cvos[i].getAttributeValue(code[j]).toString(); } if(hm.containsKey(key)){ return i+1; } hm.put(key, i+""); } return res; } ------------------------------------------------------------------------------------ 10、单据模板不允许点击表头排序 //移除HEAD表头排序监听 getBillListPanel().getHeadTable().removeSortListener(); //移除BODY表头排序监听 getBillListPanel().getBodyTable().removeSortListener(); ------------------------------------------------------------------------------------ 11、表单界面数据编辑状态控制 调用代码 BillModel bm = ainpanel.getBillListPanel().getHeadBillModel(); BillModelCellEditableController bmc=new BillModelCellEditableController(); bmc.setRows(new int[]{1,3,5}); bm.setCellEditableController(); 界面控制类 public class EditableControllerImpl implements BillModelCellEditableController{ private int rows[]=null; public boolean isCellEditable(boolean value, int row, String itemkey) { boolean tag=true; for(int i=0;i<rows.length;i++){ if(row==rows[i]){ tag=false; } } return tag; } public void setRows(int rows[]){ this.rows=rows; } } ------------------------------------------------------------------------------------ 12、会计科目参照 BillItem items[] = new BillItem[sBodyItemKeys.length]; items[i].setDataType(5);//items[i].setDataType(BillItem.UFREF); items[i].setRefType("会计科目");//如果是参照收支项目:items[i].setRefType("收支项目"); items[i].setLoadFormula(new String[]{"jksubjname->getColValue(bd_accsubj,subjname,pk_accsubj,jksubjpk)",}); items[i].setIDColName("jksubjpk"); items[i].setEditFormula(new String[]{"jksubjname->getColValue(bd_accsubj,subjname,pk_accsubj,jksubjpk)",}); ------------------------------------------------------------------------------------ 13、附件 public void doFile(){ int irow = getMainPanel().getBillTable().getSelectedRow(); if(irow < 0) return; String pk_ssinfo = getMainPanel().getBodyValueAt(irow, "pk_ssinfo")==null ?"":getMainPanel().getBodyValueAt(irow, "pk_ssinfo").toString(); if(pk_ssinfo == null || "".equals(pk_ssinfo)) return; // FileManageUI.showInDlg(this,"附件",pk_ssinfo); FileManageTreeTableUI.showInDlg(this,"附件",pk_ssinfo); } ------------------------------------------------------------------------------------ 14、前台调用接口 接口名 iquery = (接口名) NCLocator.getInstance().lookup(接口名.class.getName()); ------------------------------------------------------------------------------------ 15、返回选择的文件路径 public String getUserFilePath(){ //弹出客户端对话框 UIFileChooser m_filechooser = new UIFileChooser(); ExampleFileFilter filter = new ExampleFileFilter(); filter.addExtension("xls"); filter.setDescription("EXCEL文件"); m_filechooser.setFileFilter(filter); m_filechooser.setDialogType(JFileChooser.FILES_ONLY);//m_filechooser.setDialogType(JFileChooser.SAVE_DIALOG); int result = m_filechooser.showOpenDialog(null);//m_filechooser.showSaveDialog(null); if(result != 0) return null; //取得用户保存的路径和文件名 final String filepath= m_filechooser.getSelectedFile().getParent(); final String filename = m_filechooser.getSelectedFile().getName(); final String ExcelFile_Path = filepath+"\\"+filename; return ExcelFile_Path; } ------------------------------------------------------------------------------------ 16、设置多表头 //设置多表头 public void setMultiHead(){ BillTable table = getBodyPanel().getTable(); GroupableTableHeader header = (GroupableTableHeader) table.getTableHeader(); TableColumnModel cm = table.getColumnModel(); ColumnGroup subjname = new ColumnGroup("科目名称"); //合并哪些列 subjname.add(cm.getColumn(0)); subjname.add(cm.getColumn(1)); header.addColumnGroup(subjname); ColumnGroup rlpropn = new ColumnGroup("人力提取计划(元)"); rlpropn.add(cm.getColumn(2)); rlpropn.add(cm.getColumn(3)); rlpropn.add(cm.getColumn(4)); rlpropn.add(cm.getColumn(5)); header.addColumnGroup(rlpropn); ColumnGroup cwpropn = new ColumnGroup("财务成本列支(元)"); cwpropn.add(cm.getColumn(6)); cwpropn.add(cm.getColumn(7)); cwpropn.add(cm.getColumn(8)); cwpropn.add(cm.getColumn(9)); header.addColumnGroup(cwpropn); // ColumnGroup fipay = new ColumnGroup("实际支出(元)"); // fipay.add(cm.getColumn(10)); // header.addColumnGroup(fipay); } ------------------------------------------------------------------------------------ 17、增行时表体联动 /*-------------------增行时表体联动表头选择的标准类型 START--------------------------------*/ //得到表头选择标准类型 Grade_BZTypeVO btVO = (Grade_BZTypeVO)this.getMainCardPanel().getHeadItem("bztype").getValueObject(); //设置表体新增行的pk_bztype字段值setBodyValueAt(值,行号,字段) this.getMainCardPanel().setBodyValueAt(btVO.getPk_bztype(), this.getMainCardPanel().getRowCount()-1, "pk_bztype"); //执行表体加载公式(如果没有设置公式可以不用) this.getMainCardPanel().getBillModel().execLoadFormula(); /*-------------------增行时表体联动表头选择的标准类型 END---------------------------------*/ ------------------------------------------------------------------------------------ 18、得到参照中PK字段的值 UIRefPane ref = (UIRefPane)this.getHeadItem("pk_bz").getComponent(); return ref.getRefPKs(); 19、得到参照中非PK的其他字段的值 /** * 得到选择的评价标准类型主键 * @return String[] 评价标准类型主键 */ public String[] getPKBZTypes() { ArrayList<String> list = null; /*得到参照中选择的评价标准类型主键*/ UIRefPane ref = (UIRefPane)this.getHeadItem("pk_bz").getComponent(); Object obj[] = (Object[])ref.getRefValues("b.pk_bztype"); if(obj!=null) { list = new ArrayList<String>(); for (int i=0;i<obj.length;i++) { //去重复 if(!list.contains(obj)) { list.add((String)obj[i]); } } } if(list==null) { return null; } return list.toArray(new String[0]); } ------------------------------------------------------------------------------------ 20、取得表体选择行的VO /** * 取得页面选择的VO * @return Grade_CorpWeightVO[] */ public Grade_CorpWeightVO[] getBillSelectVOs(){ int row_count = getRowCount(); if (row_count <= 0) return null; int[] rows = getBillTable().getSelectedRows(); if(rows==null||rows.length==0){ return null; } for (int i = 0; i < row_count; i++) { getBillModel().setRowState(i, BillModel.NORMAL); } for (int xxx = 0; xxx < rows.length; xxx++) { getBillModel().setRowState(rows[xxx], BillModel.SELECTED); } Grade_BZVO[] vos = (Grade_BZVO[]) getBillModel() .getBodySelectedVOs(Grade_BZVO.class.getName()); return vos; } ------------------------------------------------------------------------------------ 21、设置表体只能单选 this.getBillTable().setSelectionMode(ListSelectionModel.SINGLE_SELECTION); 22、表体菜单事件监听 实现: implements BillBodyMenuListener 添加监听: addBodyMenuListener(this); 方法:如 public void onMenuItemClick(ActionEvent arg0) { if("删行".equals(arg0.getActionCommand())){ if(this.getRowCount()!=1){ super.delLine(); } }else if("增行".equals(arg0.getActionCommand())){ super.addLine(); } } 23、查询数据源是否存在 /** * 判断数据源是否存在 * @param dsName 数据源名称 * @return true:存在,false:不存在 */ public boolean checkDataSource(String dsName){ boolean exist = false; String[] ds; try { ds = XMLTableStruDataBO_Client.readDataSources(); for(int xx=0;xx<ds.length;xx++){ if(dsName.equals(ds[xx])){ exist = true; } } if(!exist){ MessageDialog.showErrorDlg(this, "错误", "数据源不存在,操作失败!"); } } catch (Exception e1) { e1.printStackTrace(); MessageDialog.showErrorDlg(this, "错误", "判断数据源时发生错误"); } return exist; } 24、后台得到日期 public static UFDate getBSDate(){ InvocationInfoProxy invocationInfoProxy = InvocationInfoProxy.getInstance(); UFDate bsDate = null; if (null != invocationInfoProxy && null != invocationInfoProxy.getDate() && !"null".equals(invocationInfoProxy.getDate())) bsDate = new UFDate(Long.parseLong(invocationInfoProxy.getDate())); return bsDate; } 25、状态栏显示文字 ToftPanel中 this.showHintMessage("提示内容"); 26、数字类型加千分位分割符 BillItemNumberFormat format = new BillItemNumberFormat(); format.setShowThMark(true); items[i].setNumberFormat(format);
相关推荐
可能包含通用的函数、配置文件或者实验结果的记录。 综合以上内容,这个压缩包为学习和使用MATLAB和Python在CFD、网格处理、数据读写以及绘图等方面提供了实践案例,是提升编程技能和解决实际问题的宝贵资源。通过...
**SVN常用操作——查看代码提交及改动记录方法** 在软件开发过程中,版本控制系统如Subversion(SVN)是团队协作的重要工具。它允许开发者跟踪和管理代码的修改历史,以便于协同工作、回溯错误并理解代码的发展过程...
SAP常用事务代码,SAP系统中常用的事务代码(Transaction Codes,简称T-Codes)是执行特定功能或任务的快捷方式。这些事务代码覆盖了SAP的多个模块,包括财务(FI)、物料管理(MM)、销售与分销(SD)、生产计划...
这个名为"C#常用代码(每日更新)"的资源库显然旨在为开发者提供一系列实用的C#代码片段,以帮助他们提高编程效率,使代码更易读,并简化日常开发工作。 首先,让我们深入了解一下C#的基础知识。C#是一种面向对象的...
这些只是Web开发中30种常用代码的一部分,它们涵盖了基本的页面交互、数据操作和用户反馈。理解并熟练运用这些代码,能够帮助开发者快速构建功能丰富的Web应用程序。在实际开发中,还会涉及到更多技术,如AJAX异步...
常用代码示例 除了上述代码外,PowerBuilder还提供了许多其他常用的代码片段,例如: - 插入记录:`dw_1.insert(); dw_1.update(sqlca);` - 更新记录:`dw_1.update(sqlca);` - 删除记录:`dw_1.delete(sqlca);` ...
【知识点一】FlexSim中的编程基础和常用对象操作 FlexSim的编程主要使用特定的类和方法,比如FSNode类。FSNode类代表了模型中的一个对象,比如机器、运输带等。例如,通过ownerobject()方法可以找到一个FSNode对象的...
本文档主要涉及iOS开发中的常用代码,尤其是与Objective-C字符串操作相关的知识点。 首先,我们来看 `%` 符号在输出格式化字符串中的作用。在C语言及其派生语言(如Objective-C)中,`%`是格式化输出的标志,用于...
例如,`Conn`是数据库连接对象,`Rs`是记录集对象,你可以使用`Conn.Open("连接字符串")`建立连接,`Rs.Open("SQL语句", Conn)`执行查询,然后通过`Rs.Fields("字段名")`来访问数据。 3. **页面布局**: ASP页面...
### EXCEL VBA 常用代码集:利用Dos命令搜索文件 #### 一、概述 在Excel VBA编程中,经常需要处理大量的文件操作任务,例如搜索特定类型的文件、整理文件列表等。本篇文章将深入探讨如何通过VBA调用DOS命令`dir`来...
SAP-MM常用表和常用事务代码汇编 SAP-MM系统中有许多重要的表和事务代码,这些表和代码对SAP-MM系统的运行和管理起着至关重要的作用。下面我们将对SAP-MM系统中常用的表和事务代码进行总结和解释。 一、常用表 ...
### SAP MM 模块常用事务代码详解 #### 物料主数据 - **建立物料主数据** **事务代码:** MM01 **路径:** 后勤 → 物料管理 → 物料主数据 → 物料 → 创建(一般) → 立即 MM01用于创建新的物料主数据记录。...
### .NET中33种常用的...综上所述,以上列举的一些常用代码片段为.NET开发人员提供了丰富的工具箱,使得在处理Web应用程序时更加灵活高效。需要注意的是,在实际开发过程中还需结合具体场景考虑安全性、性能等因素。
- 录制宏:在执行一系列操作后,可以通过“开发工具”选项卡中的“录制宏”按钮,让Excel自动记录这些步骤,生成相应的VBA代码。 - 编辑宏:在VBA编辑器中,可以直接查看和修改宏代码,理解并学习代码逻辑,以适应...
这个压缩包文件包含了一系列VB.NET编程中的常用代码示例,特别关注了数据操作和用户界面交互。以下是对每个文件名称所代表的知识点的详细解释: 1. **04自定义函数ShowData的实现过程.jpg**:这可能是关于如何创建...
《PHP常用代码大全》这一资料集,为广大的PHP开发者提供了丰富的编程素材和实用的代码片段,涵盖了PHP语言的核心功能和常见应用场景,是提升开发效率、优化代码质量的宝贵资源。下面,我们将深入探讨这份资料中提及...
本文档是一份关于用友U9系统客开常用代码的集合,对于从事相关开发工作的人员来说,是一项重要的参考资料。 首先,文档提到的PO(采购订单)终止操作,涉及到数据库操作的SQL脚本,这些脚本可以用来更新采购订单的...
### SAP常用事务代码知识点汇总 #### 物料移动类型及其用途 在SAP系统中,物料移动类型是用来定义物料在不同存储位置之间移动的方式。不同的移动类型代表着不同的业务流程。 - **261**:代表生产订单发料,通常...
以下是一些ASP.NET编程中常用的代码和技巧: 1. 打开新窗口并传送参数:在ASP.NET中,你可以通过JavaScript在服务器端生成代码,将参数传递给新打开的窗口。例如,使用`Response.Write`在HTML中嵌入JavaScript代码...
本示例集包含50个常用的VBA宏代码,涵盖了各种实用场景,帮助用户提高工作效率。 首先,"VBA实例36-列移动去空格.rar"可能是一个处理Excel数据的宏,它可能包含了移除单元格或整列中的空格功能。在Excel中,有时...