flex中tree判断节点等级并增加、删除节点

43 篇文章 0 订阅
12 篇文章 0 订阅

最近一直在搞flex前台+java后台+oracle的开发。tree是个重头戏。tree增加节点,删除节点很重要。

在tree中增加节点首先要做的就是要判断要增加的节点是在哪个节点下,也就是要判断其父节点的等级。

(1)增加节点:增加的内容有DepartNum、DepartName、DepartNumStartdate、DepartLevel、(前四个在tbdepart中)SuperDepartNum(在表tbdepart_depart中),而SuperDepartNum与前面四个不在同一个表中。

首先:在flex中写一些java的pojo类;

package com.sampleone.pm.model;

public class PmRow {
 private int DepartNum;
 private String DepartName;
 private String DepartNumStartdate;
 private int DepartLevel;
 private int SuperDepartNum;
 private int DutyNum;
 private String DutyName;
 private int DutyLevel;
 
 public int getDutyLevel() {
  return DutyLevel;
 }
 public void setDutyLevel(int dutyLevel) {
  DutyLevel = dutyLevel;
 }
 public int getDepartNum() {
  return DepartNum;
 }
 public void setDepartNum(int departNum) {
  DepartNum = departNum;
 }
 public String getDepartName() {
  return DepartName;
 }
 public void setDepartName(String departName) {
  DepartName = departName;
 }

 public String getDepartNumStartdate() {
  return DepartNumStartdate;
 }
 public void setDepartNumStartdate(String departNumStartdate) {
  DepartNumStartdate = departNumStartdate;
 }
 public int getSuperDepartNum() {
  return SuperDepartNum;
 }
 public void setSuperDepartNum(int superDepartNum) {
  SuperDepartNum = superDepartNum;
 }
 public int getDepartLevel() {
  return DepartLevel;
 }
 public void setDepartLevel(int departLevel) {
  DepartLevel = departLevel;
 }
 public int getDutyNum() {
  return DutyNum;
 }
 public void setDutyNum(int dutyNum) {
  DutyNum = dutyNum;
 }
 public String getDutyName() {
  return DutyName;
 }
 public void setDutyName(String dutyName) {
  DutyName = dutyName;
 }}

其次要写xml的sql语句:就是在oracle中插入新的表包含以上5个字段(DepartNum、DepartName、DepartNumStartdate、DepartLevel、SuperDepartNum)。

   <!--向tbDepart里面插入新行-->
     <insert id="addRowDepart"  parameterType="com.sampleone.pm.model.PmRow"  >
     INSERT INTO tbdepart
  (departnum,
   departname,
   departnumstartdate,
   departnumenddate,
   departsystitle,
   departlevel)
VALUES
  (#{DepartNum}, #{DepartName}, to_date(#{DepartNumStartdate},'YYYY-MM-DD HH24:MI:SS'),'', '', #{DepartLevel}) 
     </insert>
      
     <!--向tbDepart_depart里面插入新行-->
     <insert id="addRowtbDepart_Depart"  parameterType="com.sampleone.pm.model.PmRow">
     INSERT INTO tbdepart_depart
     (superdepartnum,
     juniordepartnum) 
     VALUES
     (#{SuperDepartNum},#{DepartNum})
     </insert>
    然后:写DAO接口和对应的类DAOImpl

DAO:

package com.sampleone.pm.DAO;

import java.sql.Date;
import java.util.HashMap;
import java.util.List;

public interface PmDepartDAO {
 public List<HashMap<String,Integer>> getDepartName();
 public List<HashMap<String,Integer>> getDepartandNum();
 public void addRowDepart(int departNum,String departName,String departNumStartDate,int departLevel);
    public void addRowtbDepart_Depart(int superDepartNum,int departNum1);
    public void addRowtbDuty(int DutyNum,String DutyName,int DutyLevel);
    public void updateManaDepart(int DutyNum);
    public void delRowDepart(int DepartNum);

}

DAOImpl:

package com.sampleone.pm.DAO;

import java.util.List;
import java.lang.Integer;
import java.util.HashMap;
import java.sql.Date;
import com.sampleone.pm.model.PmRow;
import org.mybatis.spring.support.SqlSessionDaoSupport;


public class PmDepartDAOImpl extends SqlSessionDaoSupport implements  PmDepartDAO
{
 PmRow myaddRow=new PmRow();
 public List  getDepartName()
 {
  List  list = getSqlSession().selectList("com.cons.pm.model.PmUser.getDepartName");
  return (list == null) ? null : list;
 }

 public List getDepartandNum()
 {
  List list=getSqlSession().selectList("com.cons.pm.model.PmUser.getDepartandNum");
  return (list==null)? null:list;
 }
 //向tbDepart里面插入新行
 public void addRowDepart(int departNum,String departName,String departNumStartDate,int departLevel)
 {
  myaddRow.setDepartNum(departNum);
  myaddRow.setDepartName(departName);
  myaddRow.setDepartNumStartdate(departNumStartDate);
  myaddRow.setDepartLevel(departLevel);


  //List list=getSqlSession().selectList("com.cons.pm.model.PmUser.addRowDepart",myaddRow);
  //return (List)getSqlSession().selectOne("com.cons.pm.model.PmRow.addRowDepart",myaddRow);
  //return (List)getSqlSession().insert("com.cons.pm.model.PmRow.addRowDepart", myaddRow);
  //return (List)getSqlSession().i
  getSqlSession().insert("com.cons.pm.model.PmRow.addRowDepart", myaddRow);
 }
 //向tbDepart_depart里面插入新行
 public void addRowtbDepart_Depart(int superDepartNum,int departNum1)
 {
  myaddRow.setDepartNum(departNum1);
  myaddRow.setSuperDepartNum(superDepartNum);
  getSqlSession().insert("com.cons.pm.model.PmRow.addRowtbDepart_Depart", myaddRow);
 } 
 
 
 //向tbDuty里面插入新行
 public void addRowtbDuty(int DutyNum,String DutyName, int DutyLevel)
 {
      myaddRow.setDutyNum(DutyNum);
      myaddRow.setDutyName(DutyName);
      myaddRow.setDepartLevel(DutyLevel);
      getSqlSession().insert("com.cons.pm.model.PmRow.addRowtbDuty", myaddRow);
 }
 
 //改变tbDuty里面管理科室的属性
 public void updateManaDepart(int DutyNum)
 {
  getSqlSession().update("com.cons.pm.model.PmUser.updateManaDepart", DutyNum);
 }
 
 
 
 //删除tbDepart里面的行
 public void delRowDepart(int DepartNum)
 {
  getSqlSession().delete("com.cons.pm.model.PmUser.delRowDepart", DepartNum);
 }
}

然后:就是Action了。

Action:

package com.sampleone.pm.action;

import com.sampleone.pm.DAO.PmDepartDAO;

import java.sql.Date;
import java.util.List;

public class PmDepartAction {
    private PmDepartDAO pmDepartDAO = null;
    
 
 public void setPmDepartDAO(PmDepartDAO pmDepartDAO) {
  this.pmDepartDAO = pmDepartDAO;
 }
 

 public List getDepartName()
 {
  return pmDepartDAO.getDepartName();
 }
 public List getDepartandNum()
 {
    return pmDepartDAO.getDepartandNum(); 
 }

 public void addRowDepart(int departNum,String departName,String departNumStartDate,int departLevel )
 {
  int departNum1=departNum;
  String departName1=departName;
  String departNumStartDate1=departNumStartDate;
  int departLevel1=departLevel;
  pmDepartDAO.addRowDepart(departNum1, departName1, departNumStartDate1, departLevel1);
 }
 
 public void addRowtbDepart_Depart(int superNum,int departNum)
 {
  int superNum1=superNum;
  int departNum1=departNum;
  pmDepartDAO.addRowtbDepart_Depart(superNum1, departNum1);
 }
 
 
 public void addRowtbDuty(int DutyNum, String DutyName, int DutyLevel)
 {
  int dutyNum=DutyNum;
  String dutyName=DutyName;
  int dutyLevel=DutyLevel;
  pmDepartDAO.addRowtbDuty(dutyNum, dutyName, dutyLevel);
 }
 
 
 public void updateManaDepart(int DutyNum)
 {
  pmDepartDAO.updateManaDepart(DutyNum);
 }
 
 public void delRowDepart(int DepartNum)
 {
  pmDepartDAO.delRowDepart(DepartNum);
 }
}

接下来就是配置DAO和Action了:

DAo:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:flex="http://www.springframework.org/schema/flex"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
      http://www.springframework.org/schema/flex      
      http://www.springframework.org/schema/flex/spring-flex-1.0.xsd">
      
    <flex:message-broker />

    <bean id="abstractDAO" class="org.mybatis.spring.support.SqlSessionDaoSupport" abstract="true">
  <property name="sqlSessionFactory"   ref ="sqlSessionFactory" />
 </bean>
 
 <bean id="pmUserDAO" class="com.sampleone.pm.DAO.PmUserDAOImpl" parent="abstractDAO">
   <flex:remoting-destination />
 </bean>
 
  <bean id="pmDepartDAO" class="com.sampleone.pm.DAO.PmDepartDAOImpl" parent="abstractDAO">
   <flex:remoting-destination />
 </bean>
  
    <bean id="pmDutyDAO" class="com.sampleone.pm.DAO.PmDutyDAOImpl" parent="abstractDAO">
   <flex:remoting-destination />
 </bean>
</beans>

Action

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:flex="http://www.springframework.org/schema/flex"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
      http://www.springframework.org/schema/flex      
      http://www.springframework.org/schema/flex/spring-flex-1.0.xsd">
      
    <flex:message-broker />

 <bean id="helloworldDest" class="com.sampleone.Helloworld">
   <flex:remoting-destination />
 </bean>

    <bean id="pmUserAction" class="com.sampleone.pm.action.PmUserAction">
   <flex:remoting-destination />
   <property name="pmUserDAO" ref="pmUserDAO"/>
 </bean>


  <bean id="pmDepartAction" class="com.sampleone.pm.action.PmDepartAction">
   <flex:remoting-destination />
   <property name="pmDepartDAO" ref="pmDepartDAO"/>
 </bean> 
 
  <bean id="pmDutyAction" class="com.sampleone.pm.action.PmDutyAction">
   <flex:remoting-destination />
   <property name="pmDutyDAO" ref="pmDutyDAO"/>
 </bean> 
</beans>

最后就是在主程序中增加<remote object>了。
 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值