Как определить, какая таблица подробностей подняла Telerik Radgrid NeedDataSource Event? - PullRequest
0 голосов
/ 10 сентября 2010

Для radgrid в событии GridNeedDataSource к событиям относятся: RebindReason IsFromDetailTable

Это полезно для определения того, вызвана ли повторная привязка родительской или дочерней сеткой.

Что если у меня 3-х уровневая сетка? Родитель> Ребенок> Внук

Этот логический параметр скажет мне только, была ли решетка, вызывающая событие, родительской, не может сказать, был ли это Дитя или Внук ... или я что-то упустил?

Как определить, какая глубина иерархии сетки вызвала событие?

РЕДАКТИРОВАТЬ: я подозреваю, что я могу использовать метод sender.Equals (), но я не уверен, как нацелить элементы управления детали или основной таблицы

Ответы [ 3 ]

4 голосов
/ 28 сентября 2010

Для этого вы должны использовать событие DetailTableDataBind. Вы можете обратиться к демонстрационной программе привязки программной иерархии RadGrid . Событие DetailTableDataBind является рекомендуемым подходом для связывания таблиц подробностей. Он запускается для каждой таблицы данных, которая должна быть связана с данными. Используя объект аргумента события, вы можете получить экземпляр GridTableView, который является обязательным (e.DetailTable). Если вы указали имена для своих таблиц, e.DetailTable.Name идентифицирует вашу таблицу сведений для текущего элемента родительской сетки.

0 голосов
/ 11 января 2012

У каждого вида таблицы RadGrid есть Имя.В DetailTableDataBind вы можете проверить имя сетки и выбрать источник данных для привязки по ней ...

0 голосов
/ 10 сентября 2010

Ну, я также не нашел способ определить это. Что я сделал, так это прослушал событие ItemCommand сетки и определил табличное представление, которое вызвало команду развернуть / свернуть через аргумент e.Item.OwnerTableView.Name.

...