Power App Portal查找字段筛选范围限制


2、查找字段筛选范围限制  

在窗体自定义js中使用liquid,用xml筛选出需要使用的表数据

如:获取产品表时间在当前时间范围并且关联当前客户的可用记录,再通过liquid循环与js,将其存入变量;

 在界面中找到弹出框,id为【字段名_lookupmodal】

在窗体的自定义设置增加

$(document).ready(function () {

    var list = $("#parentcustomerid_lookupmodal").find(".entity-lookup").find(".entity-grid").eq(0);
    list.on("loaded", function () {
        //加载
      list.find("table tbody > tr").each(function () {
var tr = $(this);
                var id = $(tr).find('td[data-attribute="cr42c_adminonly"]').attr("data-value");
                if (id== "筛选的id") {
                    tr.remove();//将其删除
                }
            });
    });
});

但是此方法有一个弊端如果数据多分页了的话,可能导致前几页没有数据;

第二种方法:

list.find("table > tbody > tr").remove();//直接删除所有的行
$.each(productdatelookup,
function (index, data) { public.push(data.productid); if(data.productname.indexOf("筛选条件") >=0){//将需要筛选出来的数据填充 list.find("table > tbody").append(` `+data.productname+` `+data.itemnumber+` `); } });

选中:

未选中:

下拉框选中项取决于 tr中的class="selected info",有此class就是将此项选中;

选中样式取决于span中class="fa-check"和 aria-checked="true"。

但是手动添加的不会活动赋值class,所以需要使用其他方式

如:

function change(productid){
    $("#"+productid+"").prop("checked",true)//通过行id

    $("[data-id='"+productid+"']").addClass("selected info");
    $.each(public, function (index, data) {
       
        if(data != productid){
            $("[data-id='"+data+"']").removeClass("selected info");
            $("#"+data+"").prop("checked",false)
        }
    })
}

在复选框的OnChange事件添加此方法

相关