在LightSwitch HTML客户端中使用javascript进行查询

时间:2014-02-05 02:38:18

标签: javascript jquery html visual-studio-lightswitch

LightSwitch表:

  • ProductVariant
  • ProductVariantDetail(多对一的ProductVariant)

代码:

myapp.AddEditProduct.Id_render = function (element, contentItem) {
    var detailArray = new Array();

    //contentItem.screen.getProductVariantDetails().then( function(result) {
    //    for (var i in result.data) {
    //        if (result.data[i].ProductVariant.Id == contentItem.value) {
    //            detailArray.push(result.data[i].InventoryDetail.Title);
    //        }
    //    }
    //    $("<div>" + detailArray.join(" / ") + "</div>").appendTo($(element));
    //});

    var filter = "ProductVariant eq " + contentItem.value;
    myapp.activeDataWorkspace.ApplicationData.ProductVariantDetails.filter(filter).
        execute().then(function (result) {
            for (var i in result.results) {
                detailArray.push(result.results[i].InventoryDetail.Title);
            }

        }).then(function() {
            $("<div>" + detailArray.join(" / ") + "</div>").appendTo($(element));
    });
};

注释掉的代码遍历每个ProductVariantDetail并检查相应的ProductVariant是否与自定义控件匹配。我发现你可以检索客户端的查询(为了节省服务器带宽,请参阅未注释的代码)但我的版本从未在filter(filter).execute中进行。我也为过滤器尝试了“ProductVariant.Id eq”。有谁知道我可能做错了什么?

1 个答案:

答案 0 :(得分:0)

尝试使用此功能 var filter =“(ProductVariant.Id eq”+ msls._toODataString(contentItem.value,“:Int32”)+“)”;