Lightswitch:自定义按钮不调用方法
Lightswitch: Custom button doesn't call method
我正在尝试向 Lightswitch HTML 客户端中的视图添加一个新的自定义按钮。
在该视图的自定义代码中,该按钮的 'execute' 方法定义如下(使用右键单击上下文菜单生成签名以确保其正确)。
/// <reference path="~/GeneratedArtifacts/viewModel.js" />
myapp.OLTP_AddEditLRIDetailsSet.Details_postRender = function (element, contentItem) {
$("[data-ls-tap='tap:{data.shell.okCommand.command}']").hide(); // Hide Ok Button
$("[data-ls-tap='tap:{data.shell.cancelCommand.command}']").hide(); // Hide Cancel Button
};
myapp.OLTP_AddEditLRIDetailsSet.Test_Method_execute = function (screen) {
console.log('execute');
};
第一种方法隐藏默认按钮,第二种方法是按钮的执行代码。在 Web 客户端中单击按钮时,不会调用该方法,而是持续加载屏幕(如下所示)。
从 AddEditMainTable 视图调用 AddEditLRIDetails 视图。在程序的上下文中,MainTable 实际上是 LRIDetails 的父级。调用视图的代码如下:
myapp.OLTP_AddEditMainTable.AddLRI_execute = function (screen) {
myapp.showOLTP_AddEditLRIDetailsSet(null, {
beforeShown: function (OLTP_AddEditLRIDetailsSet) {
var newLRI = new myapp.LRIDetailsSet();
newLRI.MainTable = screen.MainTable1;
OLTP_AddEditLRIDetailsSet.LRIDetailsSet = newLRI;
},
afterClosed: function () {
// Refreshes the content so that the filter queries are applied
screen.OLTP_LRIDetailsSet.refresh();
screen.OLTP_LRIDetailsSet.load();
}
});
};
如何解决这个连续加载问题,以便实际调用按钮方法?
最后我重新创建了视图及其父视图。沉没 ~20 小时试图以其他方式修复它。我对在 Lightswitch 工作的建议是不要害怕撕掉它并重做,这样可以节省时间
我正在尝试向 Lightswitch HTML 客户端中的视图添加一个新的自定义按钮。
在该视图的自定义代码中,该按钮的 'execute' 方法定义如下(使用右键单击上下文菜单生成签名以确保其正确)。
/// <reference path="~/GeneratedArtifacts/viewModel.js" />
myapp.OLTP_AddEditLRIDetailsSet.Details_postRender = function (element, contentItem) {
$("[data-ls-tap='tap:{data.shell.okCommand.command}']").hide(); // Hide Ok Button
$("[data-ls-tap='tap:{data.shell.cancelCommand.command}']").hide(); // Hide Cancel Button
};
myapp.OLTP_AddEditLRIDetailsSet.Test_Method_execute = function (screen) {
console.log('execute');
};
第一种方法隐藏默认按钮,第二种方法是按钮的执行代码。在 Web 客户端中单击按钮时,不会调用该方法,而是持续加载屏幕(如下所示)。
从 AddEditMainTable 视图调用 AddEditLRIDetails 视图。在程序的上下文中,MainTable 实际上是 LRIDetails 的父级。调用视图的代码如下:
myapp.OLTP_AddEditMainTable.AddLRI_execute = function (screen) {
myapp.showOLTP_AddEditLRIDetailsSet(null, {
beforeShown: function (OLTP_AddEditLRIDetailsSet) {
var newLRI = new myapp.LRIDetailsSet();
newLRI.MainTable = screen.MainTable1;
OLTP_AddEditLRIDetailsSet.LRIDetailsSet = newLRI;
},
afterClosed: function () {
// Refreshes the content so that the filter queries are applied
screen.OLTP_LRIDetailsSet.refresh();
screen.OLTP_LRIDetailsSet.load();
}
});
};
如何解决这个连续加载问题,以便实际调用按钮方法?
最后我重新创建了视图及其父视图。沉没 ~20 小时试图以其他方式修复它。我对在 Lightswitch 工作的建议是不要害怕撕掉它并重做,这样可以节省时间