-
表头字段不可见
getHeadItem("").setShow(false); -
在单据或报表中,设置表体中的0.00显示或显示为空
在单据中,如下设置:
//表体行可以显示0.00
getBillCardPanel().getBodyPanel().getRendererVO().setShowZeroLikeNull(false);
在报表中,如下设置:
//设置不显示零
getReportBase().getBodyPanel().getRendererVO().setShowZeroLikeNull(true); -
在程序查询过程中,加入"请等待 …"的提示框
//线程
Runnable checkRun = new Runnable(){
public void run()
{
//线程对话框:系统运行提示框
BannerDialog dialog = new BannerDialog(ui);
dialog.start();
try{
1
2
3
4
5
6
7
8
/**
将查询方法写在其中
*/} catch(Exception e) { e.printStackTrace(); ui.showErrorMessage(e.getMessage()); } finally { //销毁系统运行提示框 dialog.end(); } }
};
//启用线程
new Thread(checkRun).start();
1
2
3
4
5
6
7
8
9
10
11 -
发送邮件
MailTool.sendHtmlEmail(smtpHost, fromAddr, senderName, userName, password, receivers, subject, sb, fileName); -
列表表体加afterEdit监听方法
getBillListPanel().getBodyScrollPane(“页签表名”).addEditListener(this);
触发afterEdit(BillEditEvent e)方法 -
表体按照recordnum倒序排列,类似定调资表体
getBillListPanel().getBodyBillModel().setSortColumn(“recordnum”);
getBillListPanel().getBodyBillModel().getSortColumns().get(0).setAscending(false); -
表头最大化设置方法
getBillListPanel().getUISplitPane().getRightComponent().setVisible(false); -
登陆界面的日期设置不可修改
有个配置文件可以直接修改的。
nchome\ierp\bin\clientui.xml -
在UI中得到的变化VO方法
getBillCardPanel().getBillValueChangeVO
是从页面得到的VO,如果修改查询出来的数据,当查询出来的数据如果没有主键的话,那得到得VO主键就是null的。 -
在修改的方法中,如果是根据主键为条件进行修改,主键不能通过
key = getOID(storeadmin.getPk_corp());得到主键,因为这是新生成的,要使用以前的主键,key= storeadmin.getPrimarykey(); -
生成单据号的方法:
String billcode= HYPubBO_Client.getBillNo(getUIControl().getBillType(),
getClientEnvironment().getCorporation().getPrimaryKey(),null, null);
另一种是:
得到某个定义的单据号:BillcodeRuleBO_Client.
getBillCode(“biltype”, pk_corp,null, null);
//取得单据号(从NC取,服务器端)
String billNo = new nc.bs.trade.business.HYPubBO().
getBillNo(ISYYSBilltype.CTRLDDEPT_BGT_BILL, parentVo.getPk_corp(), null, null); // 设置单据号
//取得单据号(从NC取,客户端)
return HYPubBO_Client.getBillNo(getUIControl().getBillType(), _getCorp().getPrimaryKey(), null, null);
-
验证非空
@Override
protected void onBoSave() throws Exception {
this.getBillCardPanelWrapper().getBillCardPanel().getBillData().dataNotNullValidate();
super.onBoSave();
} -
实现多选
getBillListPanel().getHeadTable().setSelectionMode(
javax.swing.ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
遇到几次列表界面可多选,但取值难的问题,现总结如下:
设置列表多选框
getBillListPanel().setMultiSelect(true);
//设置列表Ctrl、Shift多选
getBillListWrapper().getBillListPanel().getHeadTable().
setSelectionMode(javax.swing.ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
获取列表多条记录的方法
1、int[] selectRows = ((BillManageUI) getBillUI()).getBillListPanel().getHeadTable().getSelectedRows();
2、 ((BillManageUI) getBillUI()).getBillListPanel().getHeadBillModel().getBodySelectedVOs(DemoYsHVO.class.getName());
其中,方法1只在Ctrl、Shift多选时能取到多条记录的行号。
方法2都能取到多选记录的VO。
-
实现选择框全选全消小按钮
import nc.ui.hr.frame.util.table.TableMultiSelHelper;
headTableMultiSelector headTableMultiSelector = new TableMultiSelHelper();
headTableMultiSelector.addMultiSeletor(getBillListPanel().getHeadTable()); -
分别从卡片、列表中取得表头、表体VO数组的方法
//列表界面
if (getSelfUI().isListPanelSelected()) {
int rowCount = getSelfUI().getBillListPanel().getHeadBillModel().getRowCount();
if (rowCount == 0) {
getSelfUI().showWarningMessage(“没有可以确认的数据!”);
return;
}
//取得选中的行
selectRow = getSelfUI().getBillListPanel().getHeadTable().getSelectedRow();
//在列表界面取得表头VO
hvo = (Df1BmsqHVO)getBufferData().getVOByRowNo(selectRow).getParentVO();
//在列表界面取得表体VO
bvos = (Df1BmsqBVO[])getBufferData().getVOByRowNo(selectRow).getChildrenVO();
}
//卡片界面
else {
int rowCount = getSelfUI().getBillCardPanel().getBillTable().getRowCount();
if (rowCount == 0) {
getSelfUI().showWarningMessage(“没有可以确认的数据!”);
return;
}
try {
//在卡片界面取得表头VO
hvo = (Df1BmsqHVO)getBufferData().getCurrentVO().getParentVO();
//在卡片界面取得表体VO
bvos = (Df1BmsqBVO[])getBufferData().getCurrentVO().getChildrenVO();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
} catch (Exception e) {
e.printStackTrace();
}
}
-
得到行号数组
Int []rows= ui.getBillListWrapper().getBillListPanel().getHeadTable().getSelectedRows(); -
得到当前行的聚合VO
AggRequirepubVO aggRequirepubVO= (AggRequirepubVO)ui.getBillListWrapper().getBillListPanel().getBillValueVO(iCurRow,AggRequirepubVO.class.getName(),
HeadVO.class.getName(), BodyVO.class.getName()); -
得到行号,得覆盖这个方法
@Override
public void bodyRowChange(BillEditEvent e) {
// TODO Auto-generated method stub
iCurrRow = e.getRow();
} -
自定义按钮的使用
需要在ui中覆盖这个方法
@Override
protected void initPrivateButton() {
// TODO Auto-generated method stub
PublicVO publicVO = new PublicVO();
addPrivateButton(publicVO.getPublicButtonVO());
addPrivateButton(publicVO.getUnpublicButtonVO());
}
PublicVO 是自己创建的按钮VO
package nc.vo.zygb;
import nc.itf.zygb.IMyButton;
import nc.ui.trade.base.IBillOperate;
import nc.vo.trade.button.ButtonVO;
import nc.vo.trade.pub.IBillStatus;
public class PublicVO {
public ButtonVO getPublicButtonVO(){
ButtonVO btnVo = null;
if (btnVo == null) {
btnVo = new ButtonVO();
btnVo.setBtnNo(IMyButton.publicBtn);
btnVo.setBtnName(“发布”);
btnVo.setHintStr(“发布”);
btnVo.setOperateStatus(new int[] { IBillOperate.OP_EDIT,IBillOperate.OP_NOTEDIT});
btnVo.setBusinessStatus(new int[] {IBillStatus.FREE});
}
return btnVo;
}
public ButtonVO getUnpublicButtonVO(){
ButtonVO btnVO = null;
if(btnVO == null){
btnVO = new ButtonVO();
btnVO.setBtnNo(IMyButton.unpulicBtn);
btnVO.setBtnName(“取消发布”);
btnVO.setHintStr(“取消发布”);
btnVO.setOperateStatus(new int[] { IBillOperate.OP_EDIT,IBillOperate.OP_NOTEDIT });
btnVO.setBusinessStatus(new int[] {IBillStatus.FREE});
}
return btnVO;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
}
IMyButton是定义按钮的接口:
public interface IMyButton {
//发布按钮
public final static int publicBtn = 185;
//取消发布按钮
public final static int unpulicBtn = 186;
}
20.下拉框的定义,在initSelfData()方法中
@Override
protected void initSelfData() {
// TODO Auto-generated method stub
// 发布状态
IConstEnum[] require_status= new DefaultConstEnum[]{new DefaultConstEnum(0, “未发布”),
new DefaultConstEnum(1, “已发布”)};
BillPanelUtils.initComboBox(getBillListPanel(), IBillItem.HEAD, null,RequirepubVO.PUBLICSTATUS, require_status, false);
BillPanelUtils.initComboBox(getBillCardPanel(), IBillItem.HEAD, null,RequirepubVO.PUBLICSTATUS, require_status, false);
}
1
2
3
21 向页面回写数据
((MainBillMgrPanel)getMainPanel()).getMainBillCardPanel().setHeadData(m_emptyJobVO);
((MainBillMgrPanel)getMainPanel()).getMainBillListPanel().setHeadSelectedData(m_emptyJobVO);
22 比较日期的先后方法
ValidityChecker.validateDate(date1,date2,1,“给出校验的警告语句”);
23初始化下拉列
getBillCardWrapper().initHeadComboBox(“vbillstatus”, ISYYSBillStatus.strStateRemark, true);
getBillListWrapper().initHeadComboBox(“vbillstatus”, ISYYSBillStatus.strStateRemark, true);
24执行表头公式
getBillCardPanel().execHeadFormula("");
getBillCardPanel().execHeadEditFormulas();
25执行表体公式
//列表状态
getBillListPanel().getBodyBillModel().execEditFormulaByKey(i, “vdef2”);
//卡片状态
getBillCardWrapper().getBillCardPanel().execBodyFormula(i, “vdef2”);
为参照增加约束
AbstractRefModel arm = UIUtilTools.getRefPane(item).getRefModel();
arm.addWherePart(" and dr=0 “);
arm.reloadData();
26自定义按钮添加至界面
ButtonVO editedplan = ButtonFactory.createButtonVO(ISHSHButton.LINK_KY_DETAIL, “修订计划”,“修订计划”);
editedplan.setOperateStatus(new int[] { IBillOperate.OP_NOTEDIT});
addPrivateButton(editedplan);
27当前单据的操作状态
设置是否可以编辑 getBillUI().getBillOperate()
//表体所有行
int rowsNum=getBillCardPanel().getBillModel().getRowCount();
int rowcount = getBillCardPanel().getBillModel(”").getRowCount();
getBillCardPanelWrapper().getBillCardPanel().getHeadItem(“high”).setEnabled(false);
初始上下游得单据状态(在DLG的构造方法里面加入)
BillItem billItem = getbillListPanel().getBillListData().getHeadItem(“vbillstatus”);
initComboBox(billItem, ISHSHBillStatus.strStateRemark,true);
List item
设置是否合计和得到合计值
设置是否合计:
在initSelfData()方法中加入getBillCardWrapper().getBillCardPanel().setTatolRowShow(true);
得到合计值:
首先设置显示合计行
getBillCardPanel().setTatolRowShow(true);
然后获取获取合计行的值
getBillCardPanel().getTotalTableModel().getValueAt(“行号”,“列字段”);
28. 隐藏表体某列
getBillCardPanel().hideBodyTableCol(“bodyitem”);
29. 表体带出表头
/*
- 在表头增加三个字段
- 通过vccode带出
- 麻杰 2011-03-04
*/
String pk_customer = (String)getBillCardPanel().getBillModel(“ps_so_sign_customer”).getValueAt(0, “pk_customer”);
if(null!=pk_customer){
String ccpostalcode = QueryUtil.queryByPk(“ccpostalcode”, pk_customer);
getBillCardPanel().setHeadItem(“ccpostalcode”, ccpostalcode);
}
}
-
行不可编辑方法
只有选中行可编辑的解决方法,当行可编辑
@Override
public void bodyRowChange(BillEditEvent e) {
// 修改的时候不能选中其他行,如果选择,则自动跳回编辑行
int currow = getBillCardPanel().getBillTable().getSelectedRow();
int editRow = getBillCardPanel().getBillTable().getEditingRow();
if (getBillOperate() == IBillOperate.OP_EDIT && editRow >-1 && currow != editRow) {
getBillCardPanel().getBillTable().setRowSelectionInterval(editRow, editRow);
return;
}
} -
非空校验方法:
/**
-
数据非空监测 hashFilter (billitem,int[rowindex]) 创建日期:(01-2-21 10:08:48)
*/
public static void dataNotNullValidate(BillData billdata, Hashtable<BillItem, int[]> hashFilter) throws ValidationException {
StringBuffer message = null;
BillItem[] headtailitems = billdata.getHeadTailItems();
if (headtailitems != null) {
for (int i = 0; i < headtailitems.length; i++) {
if (headtailitems[i].isNull()) {
if (PubUtils.isNull(headtailitems[i].getValueObject())) {
if (message == null) {
message = new StringBuffer();
}
message.append("[");
message.append(headtailitems[i].getName());
message.append("]");
message.append(",");
}
}
}
}
if (message != null && message.length() > 0) {
message.deleteCharAt(message.length() - 1);
throw new NullFieldException(message.toString());
}// 增加多子表的循环
String[] tableCodes = billdata.getTableCodes(BillData.BODY);
if (tableCodes != null) {
for (int t = 0; t < tableCodes.length; t++) {
String tablecode = tableCodes[t];
for (int i = 0; i < billdata.getBillModel(tablecode).getRowCount(); i++) {
StringBuffer rowmessage = new StringBuffer();
// 判断行状态是否可以编辑
int editrow = billdata.getBillModel(tablecode).getEditRow();
if (editrow != -1) { // 说明启动行编辑状态, 才继续判断 by 王松涛
if (editrow != i) {
continue;
}
}rowmessage.append(" "); if (tableCodes.length > 1) { rowmessage.append(billdata.getTableName(BillData.BODY, tablecode)); rowmessage.append("("); // "页签" rowmessage.append(nc.ui.ml.NCLangRes.getInstance().getStrByID("_Bill", "UPP_Bill-000003")); rowmessage.append(") "); } rowmessage.append(i + 1); rowmessage.append("("); // "行" rowmessage.append(nc.ui.ml.NCLangRes.getInstance().getStrByID("_Bill", "UPP_Bill-000002")); rowmessage.append(") "); StringBuffer errormessage = null; BillItem[] items = billdata.getBodyItemsForTable(tablecode); OUTER: for (int j = 0; j < items.length; j++) { BillItem item = items[j]; int[] rows = hashFilter != null ? hashFilter.get(item) : null; if (item.isNull()) { if (rows != null) { for (int ii = 0; ii < rows.length; ii++) { if (rows[ii] == i) { continue OUTER; } } } Object aValue = billdata.getBillModel(tablecode).getValueAt(i, item.getKey()); if (PubUtils.isNull(aValue)) { // if(message == null) // message = new StringBuffer(rowmessage); errormessage = new StringBuffer(); errormessage.append("["); errormessage.append(item.getName()); errormessage.append("]"); errormessage.append(","); } } } if (errormessage != null) { errormessage.deleteCharAt(errormessage.length() - 1); rowmessage.append(errormessage); if (message == null) { message = new StringBuffer(rowmessage); } else { message.append(rowmessage); } break; } } if (message != null) { break; } }
}
if (message != null) {
throw new NullFieldException(message.toString());
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
- 设置背景颜色
/**
- 为当前BillItem数组设置label组件的背景颜色 参数说明
- @param bis
- @param color
- @author 麻杰
- @time 2010-9-25 下午03:13:11
*/
private static void setBackColor(BillItem[] bis, Color color) {
for (int i = 0; i < bis.length; i++) {
UILabel label = bis[i].getCaptionLabel();
label.setBackground(color);
}
}
- 设置表格表头的颜色
/**
- 创建者:晁志平 功能:设置表格的Header颜色
- 蒋力,修改原因:加入参数为空判断,改调用公共过程
*/
public static void setBillCardHeaderColor(BillCardPanel cardPanel, ArrayList colorString, Color color) {
BillItem[] bis = cardPanel.getBillData().getHeadItems();
if (bis == null) {
return;
}
// 还原所有背景色
setBackColor(bis, cardPanel.getBackground());
// 设置指定前景色
setForegroundColor(bis, colorString, color);
}
/**
*
- 为当前BillItem数组设置label组件的背景颜色 参数说明
*/
private static void setBackColor(BillItem[] bis, Color color) {
for (int i = 0; i < bis.length; i++) {
UILabel label = bis[i].getCaptionLabel();
label.setBackground(color);
}
}
/**
-
根据cols集合中指定的名称,来对BillItems数组元素中的label组件设置前景色
*/
private static void setForegroundColor(BillItem[] bis, ArrayList cols, Color color) {
for (int i = 0; i < cols.size(); i++) {
if (cols.get(i) == null && “”.equals(cols.get(i))) {
continue;
}String col = cols.get(i).trim(); for (int j = 0; j < bis.length; j++) { String item = bis[j].getKey().trim(); if (item.equals(col)) { // 获得当前表头组件的Label组件 UILabel label = bis[i].getCaptionLabel(); // 使该组件绘制其边界内的所有像素 label.setOpaque(true); // 设置前景色为用户指定的颜色 label.setForeground(color); } }
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
- 设置表格底颜色
/**
- 创建者:晁志平 功能:设置表格的Tailer颜色 参数: 返回: 例外: 日期:
*/
public static void setBillCardTailColor(BillCardPanel bcpBillCardPanel, ArrayList alColChangeColorString, Color color) {
BillItem[] biBillItems = bcpBillCardPanel.getBillData().getTailItems();
if (biBillItems == null || biBillItems.length == 0) {
PubUtils.eatException(“当前表体没有任何元素,要为表体设置颜色,请确认是否为“主子表”、“单表头””, new Exception(“当前表体没有任何元素,要为表体设置颜色,请确认是否为“主子表”、“单表头””));
return;
}
// 还原所有背景色
setBackColor(biBillItems, bcpBillCardPanel.getBackground());
// 设置指定前景色
setForegroundColor(biBillItems, alColChangeColorString, color);
上面这两个方法的实现在设置表格表头的方法中有
}
- 是否可以输入数字
/**
- 设置是否可以输入数字 (0~9)
*/
public static void setAllowNumeric(BillItem item, Boolean isEnable) {
if (PubUtils.isNotNull(item)) {
UITextField txtItem = getTextField(item);
if (PubUtils.isNotNull(txtItem)) {
txtItem.setAllowNumeric(isEnable);
}
}
}
/**
*
- 从BillItem对象中获取UITextField的对象
*/
private static UITextField getTextField(BillItem item) {
UITextField txtItem = null;
if (PubUtils.isNotNull(item) && item.getComponent() instanceof UIRefPane) {
txtItem = ((UIRefPane) item.getComponent()).getUITextField();
} else if (PubUtils.isNotNull(item) && item.getComponent() instanceof UITextField) {
txtItem = (UITextField) item.getComponent();
}
return txtItem;
}
- 设置是否可以输入英文字母
/**
- 设置是否可以输入英文字母(大小写)(az)(AZ)
*/
public static void setAllowAlphabetic(BillItem item, Boolean isEnable) {
if (PubUtils.isNotNull(item)) {
UITextField txtItem = getTextField(item);
if (PubUtils.isNotNull(txtItem)) {
txtItem.setAllowAlphabetic(isEnable);
}
}
}
- 从服务器上下载文件并且复制到指定目录
/**
*
- 方法功能描述:从服务器上下载文件并且复制到指定目录。
*/
public static void downloadFileToDirectory(String packName, String dstPackName) {
String downloadpack = packName.replace(’/’, ‘.’);
downloadFile(downloadpack);
copyDirectory(new File(UiUtils.getCodeCachePath() + “/” + packName), new File(dstPackName));
}
/**
*
-
方法功能描述:从服务器上下载文件。
*/
public static void downloadFile(String packName) {
Map<String, VID[]> vidMap;vidMap = VIDManager.getInstance().getClientVID();
if (null == vidMap) {
// 读取本地版本 try { vidMap = Util.readFromFile(UiUtils.getCodeCachePath() + "/Version/" + Consts.VID_FILE_NAME); } catch (Exception e) { e.printStackTrace(); System.out.println("DELET OLD PACKAGE CACHE FILE..."); }
}
VID[] fileVIDs = vidMap.get(packName);
if (null == fileVIDs || 0 == fileVIDs.length) {
return;
}List listvid = new ArrayList();
for (VID fileVID : fileVIDs) {
listvid.add(fileVID);
}try {
String oriFilePath = ServiceConfig.getFileBase();
String oriBaseHttpURL = ServiceConfig.getBaseHttpURL();
ServiceConfig.setFileBase(getCodeCachePath());
ServiceConfig.setBaseHttpURL(getSysURLBaseString());
DownloadService.downloadClassFIle(packName, listvid, fileVIDs[0].getLocation(), 0);
ServiceConfig.setFileBase(oriFilePath);
ServiceConfig.setBaseHttpURL(oriBaseHttpURL);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/**
- 拷贝文件夹 将srcDir下的所有文件拷贝到dstDir下
*/
public static void copyDirectory(File srcDir, File dstDir) {
// boolean isSuccess = false;
if (srcDir.isDirectory()) {
if (!dstDir.exists()) {
dstDir.mkdir();
}
String[] children = srcDir.list();
for (int i = 0; i < children.length; i++) {
copyDirectory(new File(srcDir, children[i]), new File(dstDir, children[i]));
}
} else {
// This method is implemented in e1071 Copying a File
copyFile(srcDir, dstDir);
}
}
- 大文件拷贝的问题
/**
- 通过NIO的方式拷贝文件,可以解决大文件拷贝的问题
*/
public static void copyFile(File srcDir, File dstDir) {
FileChannel srcChannel = null;
FileChannel dstChannel = null;
try {
// Create channel on the source
srcChannel = new FileInputStream(srcDir).getChannel();
// Create channel on the destination
dstChannel = new FileOutputStream(dstDir).getChannel();
// Copy file contents from source to destination
dstChannel.transferFrom(srcChannel, 0, srcChannel.size());
// Close the channels
srcChannel.close();
dstChannel.close();
} catch (IOException e) {
Logger.error("", e);
} finally {
try {
if (srcChannel != null && srcChannel.isOpen()) {
srcChannel.close();
}
if (dstChannel != null && dstChannel.isOpen()) {
dstChannel.close();
}
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
39. 单点登录,从NC中跳转到浏览器的方法
比如点上传按钮,跳转到浏览器的方法,在上传方法中加入
Runtime.getRuntime().exec(“explorer “”+address+”"");
其中address为网址
-
导凭证的时候,报以下错误是怎样解决的
异常信息: GlPeriodBO::getPeriod(pk_glorgbook,date) Exception!
原因:
客户有可能用的xml是旧模板
日期字段和新模板的不一致
你对比一下他的模板和你的模板字段是否一致 -
获得当前登录的数据源
PfUtilUITools.getLoginDs() -
获得当前登录的账簿主键
String pk_loginGlorgbook = ((GlorgbookVO)nc.ui.pub.ClientEnvironment.getInstance().getValue(ClientEnvironment.GLORGBOOKPK)).getPrimaryKey(); -
查询某模块是否启用,是否启用模块
ICreateCorpQueryService接口 有个 isEnabled(pk_corp, nc.vo.pub.ProductCode.PROD_IC)) -
字段宽度
//表头
String date_name = getBillListPanel().getHeadItem(“doperatordate”).getName(); //首先取得该字段的汉字名称,因为汉字名称可能会因修改模板而发生变化
getBillListPanel().getHeadTable().getColumn(date_name).setPreferredWidth(100); //使用该方法,可以仅修改列表状态下的字段宽度
//表体
String wlbm_name = getBillListPanel().getBodyItem(“vwlbm”).getName();
getBillListPanel().getBodyTable().getColumn(wlbm_name).setPreferredWidth(300);
-
汉化配置文件(中文配置文件)
在F:\nchome57\langlib中找到相应模块的jar包,然后解压可以找到。 -
根据帐套编码查询数据源名称
dsName = AccountXMLUtil.findDsNameByAccountCode(accountCode);
————————————————
版权声明:本文为CSDN博主「威定天下」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_33639332/article/details/83789399