RTX开发教程[第三步:web部门的增删改实现]

本文详细介绍了RTX系统的部门管理开发,包括如何读取部门信息、修改部门信息以及增加部门。在读取子部门时,需注意可能存在的同名部门问题,可能导致循环错误。在RTX V2.0中,该问题已得到修复,通过绝对路径可以正确获取部门。附带代码下载链接。
摘要由CSDN通过智能技术生成

1、首先我们创建一个 RootObject

public class BasePage : System.Web.UI.Page
    {
        protected IRTXSAPIRootObj RtxRootObj;
        public BasePage()
        {
            RtxRootObj = new RTXSAPIRootObj();
            RtxRootObj.ServerIP = "127.0.0.1";
            RtxRootObj.ServerPort = 8006;
        }
    }


 
后面的页面都会继承 BasePage  类 

2、读取部门信息

 	    IRTXSAPIDeptManager dept = RtxRootObj.DeptManager;
            string xml = dept.GetChildDepts(""); //取父节点
            XmlDataDocument xmldoc = new XmlDataDocument();
            xmldoc.LoadXml(xml);
            
            foreach (XmlNode xn in xmldoc.SelectNodes("Departments/Department"))
            {
                string Name = xn.Attributes["Name"].Value;            
                
            }


这样就把顶级部门读取出来了 剩下的只需要用

string parentDeptName = XXX

dept.GetChildDepts(parentDeptName );

循环就可以读取下一级部门了,然后添加到Tree即可。


3、修改部门信息

            IRTXSAPIDeptManager dept = RtxRootObj.DeptManager;
            dept.SetDeptName(旧名称,新名称);



4、删除部门
IRTXSAPIDeptManager dept = RtxRootObj.DeptManager;    
dept.DelDept("部门名称", true);

5、增加部门,为了防止重名的出现,我们添加一个是否存在的校验

            IRTXSAPIDeptManager dept = RtxRootObj.DeptManager;
            if (dept.IsDeptExist("部门名称"))
            {
                Alert.ShowInParent("名称已经存在!不能添加!", MessageBoxIcon.Warning);
                return;
            }
            dept.AddDept("部门名称","父部门名称,如果为空,则为顶级节点");




但是有一个值得注意地方是 GetChildDepts("部门1"),如果存在同名的部门,那么只会读取到第一个...
部门1
----部门1-2
--------部门1
------------部门1-3
部门2
------部门2-1

如果碰到这样的有2个部门1, 那么 GetChildDepts("部门1") 只会取到  【部门1-2】,而不户取到【部门1-3】,那么我们上面的代码循环读取就进入死循环了....这里在编程的时候要注意,由于GetChildDepts只能通过部门名称来取值,API没能取到部门的Id,所以这也是一个限制....不知道是他们估计的还是咋样.....

V2.0已经修复这个bug了~~原来是我大意。没仔细阅读SDK文档,采用绝对路径即可


实现




代码下载 http://blog.csdn.net/livelymoon/article/details/9794067


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值