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

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' οnclick='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]");
	...
}




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值