Радиокнопки, используемые в сетке Rad в режиме пакетного редактирования - PullRequest
0 голосов
/ 14 апреля 2020

Я пытаюсь найти любую информацию об использовании радиокнопки в сетке rad в режиме пакетного редактирования. Я создал шаблон столбца, затем добавил переключатель, но он не работает в режиме пакетного редактирования (ничего не сохраняется в БД). Это вообще возможно? Я не могу найти ничего на сайте Telerik, поэтому я подозреваю, что он не поддерживается. Спасибо.

1 Ответ

0 голосов
/ 15 апреля 2020

Список радио не поддерживается в режиме пакетного редактирования. Такая интеграция просто не была реализована. Ближайший доступный вариант в настоящее время использует раскрывающийся список: http://demos.telerik.com/aspnet-ajax/grid/examples/data-editing/batch-editing/defaultcs.aspx. Вообще говоря, стандартным способом редактирования логических полей является использование столбца с флажками, а не списка переключателей - установите флажок «Снятые флажки».

Сетка состоит в том, что она проходит по элементам управления с кодом JS когда ячейки открываются и закрываются и определяют типы элементов управления и соответствующий API для использования (например, $ get (). control.get_value () для выпадающих списков или $ get (). значение для стандартных входных данных). Вы можете попробовать реализовать аналогичные логи c в событиях пакетного редактирования.

Вы можете попробовать использовать RadRadioButtonList с двумя элементами, объявленными в его разметке и его клиентском API (см. Get_selectedIndex () и set_selectedIndex () метод: https://docs.telerik.com/devtools/aspnet-ajax/controls/radiobuttonlist/client-side-programming/radiobuttonlist-object) вместе со следующим подходом к работе с шаблонами: https://docs.telerik.com/devtools/aspnet-ajax/controls/grid/data-editing/edit-mode/batch-editing/working-with-templates. Идея состоит в том, чтобы иметь список переключателей в шаблоне редактирования столбца и выбрать в нем правильный элемент в соответствии со значением вновь открытой ячейки на клиенте, затем извлечь выбранный элемент из списка кнопок и поместить его в сетку. источник данных. Вы можете найти один пример, который вы можете попробовать использовать в качестве базы в следующей теме: https://www.telerik.com/forums/radiobuttonlist-in-gridtemplatecolumn.

Отображение списка переключателей в шаблоне элемента также не поддерживается, поскольку редактирование в основном происходит в режиме «отображения» ячейки, а не в режиме редактирования ячейки. Вы можете попробовать использовать событие ItemDataBound на сервере, и FindControl () (см. Здесь: https://docs.telerik.com/devtools/aspnet-ajax/controls/grid/rows/accessing-cells-and-rows#accessing -controls-in-template-column ) может позволить вам установить начальные значения на основе источника данных для списков переключателей без привязки данных к ним. Затем, возможно, скрытое поле или скрытый флажок можно использовать для фактической привязки данных (см. Статью шаблона выше). Вы также можете попробовать использовать метод менеджера пакетного редактирования changeCellValue () в клиентских событиях списка переключателей, аналогично этой статье: https://docs.telerik.com/devtools/aspnet-ajax/controls/grid/data-editing/edit-mode/batch-editing/how-to/editing-checkboxes.

Другой Подход, который вы можете рассмотреть, состоит в том, чтобы использовать клиентские события из списка переключателей и сразу после изменения вызывать службу, которая будет обновлять базу данных. Это может упростить логи обработки шаблонов c (вы могли бы сделать это в столбце только для чтения), но это противоречит цели пакетного редактирования, чтобы вызвать один запрос с большим количеством данных, и вам также потребуется защитить службу .

Еще один онлайн-ресурс для проверки: https://docs.telerik.com/devtools/aspnet-ajax/controls/grid/data-editing/edit-mode/batch-editing/how-to/editing-checkboxes

...