如图通过筛选客户名称和签订人展示数据
思路:首先需要一个主表展示列表数据,还需要一个员工表(签订人),筛选签订人时,获取ID。再通过与主表的员工ID对比,筛选数据
signatoryID是员工表ID
主表 comtractmanagementDBid即为员工ID
员工表 EmpDB签订人下拉组件绑定,如图,innerdataset选择数据表,codecolumn选择id,datacolumn为数据列
绑定员工表代码示例:
//签订人下拉菜单点击事件
this.Combo00_canitemchange = function(obj:nexacro.Combo,e:nexacro.ItemChangeEventInfo)
{
var comboCodeValue = e.postvalue; // 获取combo的id值
console.log("获取值",e);
var columnName = "signatoryID"; // 获取列名(comtractmanagementDB表中的)
// 如果combo的值为0或者=undefined 取消过滤器
if(comboCodeValue == "0" || comboCodeValue == undefined) return objDB.comtractmanagementDB.filter("");
// 反之,过滤列名等于combo值的值
objDB.comtractmanagementDB.filter(columnName + "=="+comboCodeValue);
};
//客户名称输入框触发事件
this.Edit00_oninput = function(obj:nexacro.Edit,e:nexacro.InputEventInfo)
{
var inputValue = obj.value; // 获取edit的值
var columnName = "customername"; // 获取数据集列值
if(inputValue == undefined) return objDB.comtractmanagementDB.filter(""); // 如果edit的值=undefined 取消过滤器
// 如果edit的值不=undefined 过滤数据集列中包含edit的值
objDB.comtractmanagementDB.filter(columnName + ".indexOf(\""+inputValue+"\") > -1");
};
网友评论