У меня есть Back Button
в моем приложении Lightswitch, которое мне нужно связать непосредственно с конкретным экраном. Связанный экран требует значения ProjectID
, которое я предоставляю со страницы, на которую вы нажимаете Back
.Выполнение LightSwitch Javascript Асинхронно
Проблема заключается в том, что когда я нажимаю кнопку «Назад», меня выводит на нужную страницу, но записи не отображаются до тех пор, пока обновление страницы не будет отображаться. Мне нужно, чтобы обновить страницу ПОСЛЕ завершения загрузки
Я баловаться с setTimeout
и setInterval
не повезло. Можно ли это сделать в моей кнопке, или я должен использовать другой способ навигации?
код с setTimeout
(не перемещаться назад):
myapp.ViewRecordDetails.BackButton_execute = function (screen) {
// window.history.back();
showDetails = function() {
setTimeout(function() {
window.location.reload(true);
}, 0)
}
window.location.reload(true);
};
код, который перемещается назад, но нуждается в обновлении, чтобы показать данные:
myapp.ViewRecordDetails.BackButton_execute = function (screen) {
// window.history.back();
myapp.showViewProjectDetails(screen.TBG_V_TimeLog_Detail), function() {
}//Need to execute reload AFTER show screen has completed
};
Вы можете заметить, что я закомментирована widow.history.back();
... это работало на первой итерации моего приложения, но теперь есть две разные способы посадки на страницу, чтобы история была ненадежной.
Несколько вопросов: - Я предполагаю, что вы что-то делаете на экране ViewRecordDetails, который влияет на что-то, что вы увидите на ViewProjectDetails? - Каков тип screen.TBG_V_TimeLog_Detail? Если это не элемент ProjectDetail, вы ничего не получите на экране. - После того, как вы изменили данные на экране ViewRecordDetails (до нажатия на BackButton), вы вызываете myapp.commitChanges() или myapp.applyChanges()? – BobbyJ
У меня есть отчет SSRS, который напрямую ссылается на 'ViewRecordDetails' на основе' PrimaryKey'. Вы также можете перейти на «ViewRecordDetails» с главной страницы моего приложения. Эти два подхода объясняют, почему 'history.back' не работает. 'TBG_V_TimeLog_Detail' является моим набором данных и работал в другом действии' showScreen', которое у меня есть (код для последующего использования). 'ViewRecordDetails' не может иметь никаких изменений, и кнопка' back' все равно ничего не покажет до обновления ... Код для другой кнопки showScreen, которая работает: – gruff
'myapp.ViewRecordDetails.EditComment_execute = function (screen) { myapp .showEditRecordDetails (screen.TBG_V_TimeLog_Detail, { afterClosed: function (editScreen) { myapp.ViewRecordDetails (экран.TBG_V_TimeLog_Detail); } }); }; ' – gruff