#asp.net #telerik #radgrid
#asp.net #telerik #radgrid
Вопрос:
Я использую элемент управления telerik radgrid со следующей компоновкой:
Мне любопытно, может ли кто-нибудь дать общие рекомендации по тому, какой подход я должен предпринять, чтобы надежно обновить пользовательский элемент управления, который инициировал действие всплывающего окна?
Ответ №1:
В событии RadWindow OnClientClose вы можете написать код javascript для перезагрузки пользовательского элемента управления, который инициировал действие.
Некоторое время назад у меня было несколько похожее требование, когда мне нужно было повторно привязать сетку после закрытия RadWindow и я использовал функцию onclientclose RefreshGrid() { var MasterTable = $find(«<%= ИМЯ_ГРИДА_КЛИЕНТА %>»).get_masterTableView(); MasterTable.rebind(); }
В любом случае, я предлагаю вам заглянуть в javascript api о том, как обновить пользовательский элемент управления (зависит от того, что вы хотите обновить в пользовательском элементе управления).
Комментарии:
1. Спасибо, Кен, у меня уже есть это окно захвата javascript при событии закрытия, но я хочу обновить только открытую строку, но не всю сетку, если я повторно свяжу сетку, сетка потеряет все открытые строки / вкладки…
2. Вам не нужно повторно привязывать всю сетку. Я привел вам только пример. вам нужно посмотреть на API Javascript, чтобы либо обновить radTabControl (в шаблоне строки radgrid), либо если у вас есть какой-либо конкретный telerik / regular asp.net элемент управления, который вам нужно обновить внутри вашего элемента управления radtab pageview.
3. Вы открывали запрос в службу поддержки Telerik. Их поддержка потрясающая и обычно они отвечают в течение рабочего дня. Отказ от ответственности: я не работаю на telerik. лол
4. Нет, я еще не открывал заявку.
Ответ №2:
Итак, вот как я решил проблему: я создал «скрытую» кнопку на пользовательском элементе управления каждой вкладки, которую необходимо обновить, и передал идентификатор клиента кнопки при открытии всплывающего окна. идентификатор клиента этой кнопки сохраняется как переменная java script, и когда пользователь закрывает модальное окно rad, я выполняю код, имитирующий нажатие скрытой кнопки:
$find(myStoredButtonClientIdJSVariable).click();
Это, в свою очередь, выполняет надлежащий код на стороне сервера пользовательского управления, и моя сетка должным образом обновляется.
Надеюсь, что у кого-то может быть какая-то польза от чтения этого.
Комментарии:
1. Это выглядит многообещающе, но я не знаю, как я должен получить идентификатор кнопки. Прямо сейчас я делаю это: MyWindow.add_close(onWindowClose), а затем в функции onWindowClosed() Я бы сделал этот щелчок. Однако я не могу понять, как передать buttonId этой функции! Если я попытаюсь сделать что-то вроде MyWindow.add_close(onWindowClose(buttonId)), функция просто вызывается сразу, а не при закрытии.