您的位置:首页 > Web前端 > JavaScript

QQZiFramework笔记:entityTable与erp.public.js使用进阶(查询条件、自定义行显示)

2016-07-26 21:18 459 查看
entityTable并没有查询条件的组件,不过可以根据Load方法来查询数据,自己组织表单,将要查询的条件组织成json传给Load方法即可。

比如定义一个按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]");
...
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: