📄 frmxmfl.java
字号:
{
if(tmp2.equals("") || tmp2.indexOf("'")!= -1)
{
diplayMsg("提示信息","您输入了无效名称,此次操作被取消",
SWT.YES);
}
else
{
selectNode.setText(tmp2);
selectNode.setData("FLMS",tmp2);
db.addpreSQL("UPDATE SFFL SET FLMS = '"+tmp2+"' WHERE FLDM='"+selectNode.getData("FLDM").toString()+"'");
//db.exepreSQL();//测试用
prepreSQLCount++;
}
}
else
{
System.out.println("取消了修改");
}
}
/**
* 函数名:delNode
* 编写者:祝鹏举
* 功 能: 删除树中的选中节点,操作前先提示用户
* 输入参数:TreeItem selectNode
* 输出参数:无
* 备 注:2005.9.17
*/
private void delNode(TreeItem selectNode)
{
//返回当前节点的子节点数目
int childCount = selectNode.getItemCount();
String Msg;
String FLDM = selectNode.getData("FLDM").toString().trim();
//判断节点数目
if(childCount > 0)
{
Msg = "确实要删除这个节点及其子节点吗?";
}
else
{
Msg = "确实要删除这个节点吗?";
}
int var = diplayMsg("提示信息",Msg,
SWT.ICON_QUESTION|SWT.YES|SWT.NO);
if(var == SWT.YES)
{
db.addpreSQL("DELETE FROM SFFL WHERE FLDM LIKE '"+FLDM+"%'");
//db.exepreSQL();
prepreSQLCount++;
selectNode.dispose();
}
}
/**
* 函数名:insertNode
* 编写者:祝鹏举
* 功 能: 为树为当前选中节点插入一个同级节点
* 输入参数:TreeItem selectNode
* 输出参数:无
* 备 注:2005.9.22
*/
private void insertNode(TreeItem selectNode)
{
TreeItem prantNode=selectNode.getParentItem();
if(prantNode!=null)
{
this.insertChildNode(prantNode);
}
else
{
this.insertChildNode();
}
}
/**
* 函数名:insertChildNode
* 编写者:祝鹏举
* 功 能: 为树为当前选中节点插入一个子节点
* 输入参数:TreeItem selectNode
* 输出参数:无
* 备 注:2005.9.17
*/
private void insertChildNode(TreeItem selectNode)
{
//首先检查层数
String nowDM=selectNode.getData("FLDM").toString();
if(nowDM.length()<6)
{
//两步
//1 根据当前节点,计算出新节点的代码
String newDM;
TreeItem[] childNodes = selectNode.getItems();
int ItemCount=selectNode.getItemCount();
if(ItemCount<1)
{
newDM=nowDM+"AA";
}
else
{ //取得最大代码,然后用creatNewDM计算新代码
String maxDM = childNodes[ItemCount-1].getData("FLDM").toString();
newDM=this.creatNewDM(maxDM);
}
//2 获取分类名称,在树上添加该节点,preSQL中存放SQL操作,为操作数据库作准备
FrmXMFLInput dlg = new FrmXMFLInput(this.shell);
dlg.setInput("");
dlg.setText("新设分类");
dlg.setMessage("输入新分类名称:");
String tmp2=dlg.open();
//System.out.println(tmp2);
if(tmp2!=null)
{
if(tmp2.equals("") || tmp2.indexOf("'")!= -1)
{
diplayMsg("提示信息","您输入了无效名称,此次操作被取消",
SWT.YES);
}
else
{
TreeItem nodeSub = new TreeItem(selectNode,SWT.NULL);
nodeSub.setText(tmp2);
nodeSub.setData("FLDM",newDM);
nodeSub.setData("FLMS",tmp2);
db.addpreSQL("INSERT INTO SFFL (FLDM, FLMS) VALUES('"+newDM+"','"+tmp2+"')");
//db.exepreSQL();//测试用
prepreSQLCount++;
selectNode.setExpanded(true);
}
}
else
{
System.out.println("取消了输入");
}
}
else
{
diplayMsg("提示信息","已经达到最大分类层数。",
SWT.YES);
}
}
/**
* 函数名:重载一次insertChildNode,实现插入顶层节点的同级节点
*编写者:祝鹏举
* 功 能: 为树插入一个第一层的节点
* 输入参数:Tree tree
* 输出参数:无
* 备 注:2005.9.22
*/
private void insertChildNode()
{ //两步
//1 根据当前节点,计算出新节点的代码
String newDM;
TreeItem[] childNodes = tree.getItems();
int ItemCount=tree.getItemCount();
if(ItemCount<1)
{
newDM="AA";
}
else
{ //取得最大代码,然后用creatNewDM计算新代码
String maxDM = childNodes[ItemCount-1].getData("FLDM").toString();
newDM=this.creatNewDM(maxDM);
}
//2 获取分类名称,在树上添加该节点,preSQL中存放SQL操作,为操作数据库作准备
FrmXMFLInput dlg = new FrmXMFLInput(this.shell);
dlg.setText("新设分类");
dlg.setMessage("输入新分类名称:");
dlg.setInput("");
String tmp2=dlg.open();
//System.out.println(tmp2);
if(tmp2!=null)
{
if(tmp2.equals("") || tmp2.indexOf("'")!= -1)
{
diplayMsg("提示信息","您输入了无效名称,此次操作被取消",
SWT.YES);
}
else
{
TreeItem nodeSub = new TreeItem(tree,SWT.NULL);
nodeSub.setText(tmp2);
nodeSub.setData("FLDM",newDM);
nodeSub.setData("FLMS",tmp2);
db.addpreSQL("INSERT INTO SFFL (FLDM, FLMS) VALUES('"+newDM+"','"+tmp2+"')");
//db.exepreSQL();//测试用
prepreSQLCount++;
}
}
else
{
System.out.println("取消了输入");
}
}
/**
* 函数名:creatNewDM
* 编写者:祝鹏举
* 功 能: 为树为当前选中节点插入一个子节点
* 输入参数:String nowDM 当前代码
* 输出参数:String 计算出的下一个代码
* 备 注:2005.9.21
*/
private String creatNewDM(String nowDM)
{
char lsTemp1st,lsTemp2nd;
//获取最大子节点倒数2个字符
lsTemp1st = nowDM.charAt(nowDM.length() - 2);
lsTemp2nd = nowDM.charAt(nowDM.length() - 1);
//判断最后一位是否为Z,即是否需要高位进位
if(lsTemp2nd < 'Z')
{
lsTemp2nd++;
}
else
{
lsTemp2nd = 'A';
lsTemp1st++;
}
nowDM = nowDM.substring(0,nowDM.length()-2);
nowDM += lsTemp1st;
nowDM += lsTemp2nd;
return nowDM;
}
/**
* 函数名:saveData
* 编写者:祝鹏举
* 功 能:保存经过编辑的节点标签名称
* 输入参数:无
* 输出参数:无
* 备 注:2005.9.22
*/
private void saveData()
{
try
{ if(prepreSQLCount>0)
{
db.exepreSQL();
int var = diplayMsg("提示信息","已经成功完成"+prepreSQLCount+"项数据库操作,退出本窗口吗?",
SWT.ICON_QUESTION|SWT.YES|SWT.NO);
prepreSQLCount=0;
if(var == SWT.YES)
{
db.closeDB();
shell.getDisplay().dispose();
shell.dispose();
}
}
}
catch(Exception se)
{
diplayMsg("提示信息","数据写入出错,请联系我们!",
SWT.YES);
System.err.println(se.getMessage());
}
}
/**
* 函数名:remindsaveData
* 编写者:祝鹏举
* 功 能:提醒用户保存数据 暂时未用
* 输入参数:无
* 输出参数:无
* 备 注:2005.9.22
*/
private void remindsaveData()
{
String Msg="您对数据库的操作有"+prepreSQLCount+"条没有保存,是否需要保存?";
int Msgvar=diplayMsg("提示信息",Msg,SWT.ICON_QUESTION|SWT.YES|SWT.NO);
if(Msgvar == SWT.YES)
{
try
{
db.exepreSQL();
prepreSQLCount=0;
}
catch(Exception se)
{
diplayMsg("提示信息","数据写入出错,请联系我们!",
SWT.YES);
System.err.println(se.getMessage());
}
}
else
{
prepreSQLCount=0;
db.clearpreSQL();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -