LightSwitch表:
代码:
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”。有谁知道我可能做错了什么?
答案 0 :(得分:0)
尝试使用此功能 var filter =“(ProductVariant.Id eq”+ msls._toODataString(contentItem.value,“:Int32”)+“)”;