F9 开发之左树右表中的左树
1 首先在前端应用树树控件
<div class="fui-left">
<div role="head" title="地区选择"></div>
<div role="body">
<div id="key" class="mini-textbox hidden" style="width: 150px;" onenter="onKeyEnter" />
<div class="mini-button hidden" style="width: 50px;" onclick="search()">查询</div>
<div id="tree1" class="mini-tree" showFolderCheckBox="true" action="treeModel" canCheckParent="true"></div>
</div>
</div>
2 在后台要有一个变量与之对应
private TreeModel treeModel = null;
3 这个变量的get方法来获得数据
public TreeModel getTreeModel() {
if (treeModel == null) {
treeModel = new TreeModel()
{
private static final long serialVersionUID = 1L;
@Override
public List<TreeNode> fetch(TreeNode pNode) {
List<Record> tmplist;
String guid = "";
if (pNode != null)
guid = pNode.getId();
// 根节点
if (StringUtil.isBlank(guid)) {
tmplist = service.findList(
"select CityName,CityCode from HuiYuan_City where right(CityCode,4)='0000' order by CityCode ",
Record.class);
}
else {
guid = Functions.TrimEnd(guid, "0");
String sql = "";
if (guid.length() == 2) {
sql = "select CityName,CityCode from HuiYuan_City where citycode like '" + guid
+ "%' and right(CityCode,2)='00' and right(CityCode,4)<>'0000' order by CityCode";
}
else if (guid.length() == 4) {
sql = "select CityName,CityCode from HuiYuan_City where citycode like '" + guid
+ "%' and right(CityCode,2)<>'00' order by CityCode";
}
tmplist = service.findList(sql, Record.class);
}
List<TreeNode> treeNodes = new ArrayList<TreeNode>();
//修改在省级子节点中出现"所有地区"节点的问题 by dingbq 2016-8-29
if(StringUtil.isBlank(guid)){
TreeNode node1 = new TreeNode();
node1.setId("999");
node1.setText("所有地区");
node1.setLeaf(false);
node1.setExpanded(true);
treeNodes.add(node1);
}
for (Record record : tmplist) {
TreeNode node = new TreeNode();
node.setId(record.getStr("CityCode"));
node.setText(record.getStr("CityName"));
String code = node.getId();
if(StringUtil.isBlank(guid)){
node.setPid("999");
}
if (code.endsWith("00"))
node.setLeaf(false);
else
node.setLeaf(true);
treeNodes.add(node);
}
return treeNodes;
}
};
}
return treeModel;
}
F9 开发之左树右表中的左树的更多相关文章
- eas左树右表基础资料界面引用为左树右表F7的简单方法
age: /** * 加载配件F7(左树右表) * @param F7Filed 要加载的F7控件 * @param ctx 界面上下文 * @单据 ...
- java小工具,使用Swing展示左树右表结构
代码直接上: 入口类 import java.io.File; import java.util.ArrayList; import java.util.List; import org.json.J ...
- SQL 左外连接查询 将右表中的多行变为左表的一列或多列
示例: --行列互转 /**************************************************************************************** ...
- laravel利用subquery使左连接查询右表数据唯一查询
如:表a,连接表b,b中有多条符合查询的记录 1.建立需要的子查询 $sub = DB::table('b')->select(['aid'])->selectRaw('max(id) a ...
- sql server中的左连接与右连接的简便写法
左连接 *=(左表中的数据全部显示出来,右表中没有相关联的数据显示null) select Users.*,Department.name as DepartmentName from Users,D ...
- mysql左连接右连接(查询两张表不同的数据)
有两张表:一张A表he一张B表 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 :right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录: ...
- mysql中的左连接右连接内连接
一. 初始化SQL语句 /*join 建表语句*/ drop database if exists test; create database test; use test; /* 左表t1*/ dr ...
- Python进阶----多表查询(内连,左连,右连), 子查询(in,带比较运算符)
Python进阶----多表查询(内连,左连,右连), 子查询(in,带比较运算符) 一丶多表查询 多表连接查询的应用场景: 连接是关系数据库模型的主要特点,也是区别于其他 ...
- c++中的左值与右值
左值(lvalue)和右值(rvalue)是 c/c++ 中一个比较晦涩基础的概念,不少写了很久c/c++的人甚至没有听过这个名字,但这个概念到了 c++11 后却变得十分重要,它们是理解 move/ ...
随机推荐
- Hook SSDT中NtCreateProcessEx
#ifdef __cplusplus extern "C" { #endif #include <ntddk.h> #ifdef __cplusplus } #endi ...
- Docker ( Is docker really better than VM ?)
Docker is so popular. Arha? Let's try! Docker needs the linux kernel shoud be upper than 3.10.x Let' ...
- 对用户控件(ascx)属性(property)赋值
对用户控件(ascx)属性(property)赋值 Insus.NET写此博文,是对用户控件(ASCX)的属性赋值经验与技巧分享.是这样子的,在做新闻站点时,一般都会有分很多类别. 在站点首页会显示最 ...
- set 类型
set类型 map 容器是键-值对的集合,好比以人名为键的地址和电话号码. 相反地,set 容器只是单纯的键的集合.map 适用于字典.电话本.商品价目表等类似的模型.set 适用于黑名单.白名单等. ...
- 使用ServletContextListener和HttpSessionListener两种监听器实现记录当前网站在线人数
web.xml中配置: <listener> <listener-class>com.mcm.listener.ServletContextListenerImpl< ...
- siverlight 后台动态设置图片路径的总结
最近碰到了个问题,需要给一个用户控件中的image动态设置图片资源 1.图片资源属性为resource时,静态引用无任何问题,但是动态设置时,就什么也不显示 后来找到问题所在, 必须把此图片属性项中“ ...
- 添加第三方类库造成的Undefined symbols for architecture i386:编译错误
1.原因: 如果是源码编译的话,一般就只某些头文件没有添加到src编译里面.但是对于添加库编译,一般是库的编译路径设置不正确(比如arm的版本.模拟器或者真机的不同版本库引用错误或者重复引用一起编译器 ...
- Fragment与Activity交互(使用Bundle)
将需要传输的数据封装在一个Bundle对象里,然后将该Bundle对象通过 fragment.setArguments()放到fragment内. Bundle arguments = new Bun ...
- dll导出命名空间下的c风格函数陷阱
1.编译阶段,如果不是重载,那么C风格的同名函数与C++风格的同名函数,就会报编译错误.error C2084: function 'int Test(void)' already has a bod ...
- ICSharpCode.TextEditor如何自定义代码折叠和高亮
ICSharpCode.TextEditor 是一款非常不错的.NET代码编辑控件,内置了多种高亮语言支持,同时完美支持中文,非常赞!先来看一下运行效果: 1 项目结构 这里需要注意lib文件夹下导入 ...