QQZiFramework笔记:entityTable与erp.public.js使用进阶(查询条件、自定义行显示)
2016-07-26 21:18
459 查看
entityTable并没有查询条件的组件,不过可以根据Load方法来查询数据,自己组织表单,将要查询的条件组织成json传给Load方法即可。
比如定义一个按Name模糊查找的查询条件
由于需要用到特别的条件like,所以该字段需要在json文件中定义
然后在页面上添加查询控件
完善search方法
这样就完成了
--------------------------------自定义行显示-----------------------------------------------------
其实就是在onRowCreate(row,data)事件里面添加一些操作,row参与为当前行jquery对象,data为当前行对应的数据行对象
比如我们,在编辑和删除后面再添加一个“详情”连接,那首先我们在要定义entitytable的地方,添加事件
这样我们就在每一行上面添加了一个“详情”的连接,点击会会跳转到/home/UserDetail这儿我们用tr.find("td:last"),获取最后一个单元格,如果我们不是操作最后一个单元格,当然也可以用tr.find("td:eq(n)"),不过这儿也提供一个方便的方法获取列对应的单元格
entityTable.FindCell(tr,headJqExp)方法
tr就是行,headJqExp就是列的jquerry表达式,比如Name列,就用[colName=Name]
比如定义一个按Name模糊查找的查询条件
由于需要用到特别的条件like,所以该字段需要在json文件中定义
"DemoPermission":{ Fields:{ Name:["a.Name","a.Name like '%{0}%'"] } }
然后在页面上添加查询控件
<label>姓名:</label><input type='text' name='txtName' id='txtName'> <input type='button' onclick='search()'>
完善search方法
<script> ...... function search(){ var jsonWhere={}; var name = $("#txtName").val(); if(name){ <span style="white-space:pre"> </span>jsonWhere["Name"] = name; } entityTable.Load(jsonWhere) } ...... </script>
这样就完成了
--------------------------------自定义行显示-----------------------------------------------------
其实就是在onRowCreate(row,data)事件里面添加一些操作,row参与为当前行jquery对象,data为当前行对应的数据行对象
比如我们,在编辑和删除后面再添加一个“详情”连接,那首先我们在要定义entitytable的地方,添加事件
<script> var entityTable_ops = { table: "User" , primary: "UserId" , pageSize: 10 , triggerQuery: true , pagger: "#pagger" , permission: "DemoPermission" , editCols: [ { group: "基础属性", fields: [ { display: '姓名', colName: "Name", requre: true }, { display: '账号', colName: "Account", requre: true }, { display: '密码', colName: "Password", requre: true }, { display: '提现密码', colName: "ZiEBaoPassword", requre: true }, { display: '微信', colName: "WeiXin", requre: true }, { display: 'QQ', colName: "QQ", requre: true }, { display: '身份证', colName: "IDCard", requre: true }, { display: '手机', colName: "Mobile", requre: true } ] }] , ,onRowCreated(tr,row){ var id= row.UserId; var lastRow = tr.find("td:last"); var detailLink=lastRow.find(".detail"); if(detailLink.length ==0){ detailLink=$("<a href='/Home/UserDetail?id="+ id +"'>详情</a>"); lastRow.append(detailLink); } } }; var entityTable = $("#listTable").entityTable(entityTable_ops); $("#addnew").click(function () { entityTable.ShowCreateDialog(); }) </script>
这样我们就在每一行上面添加了一个“详情”的连接,点击会会跳转到/home/UserDetail这儿我们用tr.find("td:last"),获取最后一个单元格,如果我们不是操作最后一个单元格,当然也可以用tr.find("td:eq(n)"),不过这儿也提供一个方便的方法获取列对应的单元格
entityTable.FindCell(tr,headJqExp)方法
tr就是行,headJqExp就是列的jquerry表达式,比如Name列,就用[colName=Name]
,onRowCreated(tr,row){ ... var td = entityTable.FindCell(tr,"[colName=Name]"); ... }
相关文章推荐
- JSP的几个小结
- JavaScript中string对象方法
- JS数组实现队列和堆栈
- 超详细JSTL标签 参考手册
- 爬取熊猫TV,javascript,selenium,模拟点击
- javascript內容向上不間斷滾動
- js注意事项12
- js注意事项11
- JSP中<base href="<%=basePath%>">的作用
- js实例
- js中精确的乘除运算
- JS中json字符串转换为数组
- JS 实现简单星星评分功能
- JavaScript深度复制(deep clone)的实现方法
- JavaScript的toString()和valueOf()区别到底是什么
- js判断身份证号是否正确
- JSON
- javascript创建cookies无法保存至本地
- JavaScript作用域与作用域链
- 用Js的eval解析JSON中的注意点