easyui tree的简单使用

1、帮助文档

先看下API中怎么说的吧:




2、前台:

	<div region="center" collapsible="false"  style="width:100%;margin-top:5px;margin-left:5px;" border="false">
		<div style="float: left;margin-left: 10px;" id="rightC">
			<ul id="tree" ></ul>
		</div>
	</div>

 
		  $("#tree").tree({
		  url:'getOrgTree.do',
		  method: 'GET',
		  animate: true,
		  checkbox: true,
		  cascadeCheck:true,//层叠选中
		  lines:true,//显示虚线效果
		  onLoadSuccess:function(node,data){
			  var nodeDep = $('#tree').tree('find',checkeid);
			  if (null != nodeDep && undefined != nodeDep)
			  {
				  $('#tree').tree('check',nodeDep.target);
			  }
		  },
		  onCheck:function(node, checked)
		  {
			  if (checked)
			  {
				  //这段逻辑自拟
 			  } 
 			  else 
 			  { 
 			  }
 			
			} 
		 });


3、后台


后台这段代码个人觉得写的不好,但是又没查到怎样写,暂且先这样吧


    public class OrgTree
    {
        private String id;
        
        private String text;
        
        private List<OrgTree> children = new ArrayList<OrgTree>();
        
        private String state;
        //getter & setter
    }


上面这个class是按照下面这个来加字段的:

    @RequestMapping("/getOrgTree")
    public void getOrgTree(String id, HttpServletRequest request, HttpServletResponse response)
    {
        List<Organization> orgList = new ArrayList<Organization>();
        OrgModel model = new OrgModel();
        String spid = "";
        //父节点的id为-1
        model.getBean().setParentid("-1");
    //按条件查询出所有的父节点
        orgList = organService.selectByCondition(model);
        
        // 查询出所有的父节点
        List<OrgTree> otree = new ArrayList<OrgTree>();
        // 遍历所有父节点
        if (null != orgList && orgList.size() > 0)
        {
            for (Organization o : orgList)
            {
                OrgTree ot = new OrgTree();
                ot.setId(o.getId());
                ot.setText(o.getOrgName());
                
                OrgModel childMod = new OrgModel();
                childMod.getBean().setParentid(o.getId());
                //根据父节点id查询出其子节点
                List<Organization> orgChild = organService.selectByCondition(childMod);
                if (orgChild != null && orgChild.size() > 0)
                {
                    List<OrgTree> list = new ArrayList<OrgTree>();
                    for (Organization child : orgChild)
                    {
                        OrgTree ochild = new OrgTree();
                        ochild.setId(child.getId());
                        ochild.setText(child.getOrgName());
                        list.add(ochild);
                    }
                    if(list.size() < 0)
                    {
                        ot.setState("open");
                    }
                    else
                    {
                        ot.setState("closed");
                    }
                    ot.setChildren(list);
                }
                
                otree.add(ot);
                
            }
        }
        

        ComUtil.writerJson(response, otree);
    }




效果如下:





本来是想实现每次只能选择一个选项的,但是一直有问题,问题出在那个cascadeCheck属性上,选择了一个节点时,就把另一个选中的节点给unchecked,但是由于这个层叠选中状态的,在只有一个子节点时,把父节点unchecked,但是同时子节点也就去勾选了,该功能未实现,待修改下方法在说。



小例子,记录...


### SimNow与CTP的关系 SimNow 是由上海期货交易所推出的仿真交易平台,允许投资者和开发者在一个虚拟环境中测试交易策略。通过该平台,用户可以获得真实的市场环境体验而无需承担实际风险。CTP(China Trading Platform)是中国国内广泛使用的金融衍生品电子交易平台之一,支持多种类型的交易品种。 两者之间的关系在于 CTP 提供了底层的技术接口和服务来处理订单提交、执行报告等功能;而 SimNow 则作为上层应用提供了模拟账户管理和资金管理等服务[^2]。 ### 如何在SimNow中使用CTP 为了能够在 SimNow 中利用 CTP 进行操作,通常需要完成以下几个方面的配置: #### 获取必要的信息 - 注册并登录到 SimNow 官方网站创建一个新的仿真账号。 - 记录下分配给用户的 **账号**、**密码** 和 **经纪商编号**。 - 下载安装快期或其他类似的客户端软件用于查询所需的 **交易服务器地址** 及 **行情服务器地址** 。 #### 配置开发环境 - 如果打算编写自己的程序接入,则需参照官方文档设置好相应的编程语言环境和支持库。 - 对于 Python 用户来说,可以通过 `ctp-python` 库快速搭建起基础架构。 ```python from ctp import TraderApi, MdApi # 初始化API对象 trader_api = TraderApi() md_api = MdApi() # 设置前置机地址 front_address = "tcp://180.168.146.187:10000" broker_id = "9999" # 经纪商ID user_id = "your_simnow_userid" # 用户名 password = "your_password" def on_front_connected(): trader_api.ReqUserLogin(BrokerID=broker_id, UserID=user_id, Password=password) trader_api.RegisterFront(front_address) trader_api.Init() ``` 此段代码展示了如何初始化一个简单的 CTP API 实例并与指定的前置机建立连接。需要注意的是,在实际部署前还需要考虑错误处理机制等问题[^1]。 #### 测试验证 - 使用上述提到的方法成功连入后即可发送请求获取最新报价或是下单尝试买卖合约。 - 建议先从读取K线数据入手熟悉整个工作流,之后再逐步深入研究更复杂的逻辑实现如自动化交易系统的设计[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值