Я хочу обновить вид в siebel одним нажатием кнопки
Я использую siebel v 8.0.
Я хотел бы обновить вид при нажатии кнопки в апплете.
Когда кнопка нажата, мне нужно немного кода в скрипте браузера, который может обновить представление.
я пытался
1. this.BusComp().InvokeMethod("RefreshRecord");
2. this.BusComp().InvokeMethod("RefreshBusComp");
3. theApplication().InvokeMethod("RefreshBusComp");
4. theApplication().GetService("FINS Teller UI Navigation").InvokeMethod ("RefreshCurrentApplet", theApplication(). NewPropertySet(), theApplication().NewPropertySet());
Но никто из них не работал. Но мне нужно обновить весь вид вместо текущего апплета. Пожалуйста, помогите.,
2 ответа
При использовании BS:FINS Teller UI Navigation, попробуйте передать параметр "Обновить все" как true.
var svcUI = TheApplication().GetService("FINS Teller UI Navigation");
var psIn = TheApplication().NewPropertySet();
var psOut = TheApplication().NewPropertySet();
psIn.SetProperty("Refresh All","Y");
svcUI.InvokeMethod("RefreshCurrentApplet",psIn,psOut);
Если это все еще не работает для вас, вы можете попробовать JavaScript, чтобы обновить представление, предполагая, что ваше приложение имеет высокую интерактивность. Используйте window.location.reload() в javascript, чтобы обновить весь вид.
Перехватить событие нажатия кнопки на скрипте на стороне браузера в апплете и вызвать настроенную бизнес-службу из скрипта на стороне браузера. На стороне сервера использование скрипта бизнес-сервиса
TheApplication().GoToView("Name Of View to Refresh");
Передайте 'View Name' и другой параметр из браузера в сторону сервера, чтобы сохранить контекст, это сделает его универсальным и пригодным для повторного использования. Наконец-то вы обновите View.