Telerik RadPanelBar - привязка родительских элементов с помощью GROUP - PullRequest
1 голос
/ 04 августа 2009

У меня есть сценарий, где мне нужно привязать RadPanelBar к таблице SQL, аналогичной приведенной ниже структуре:

ID, Name, Category 
1, Fred, Male 
2, Sam, Male 
3, Fred, Male 
4, Sam, Female
5, Louise, Female 
6, Tom, Male 

Мне нужно, чтобы панель была в структуре Категория> Имя (т.е. каждое имя было дочерним элементом своего пола), но я не вижу простого способа сделать это из примеров Telerik.

Любая помощь / предложения будут с благодарностью.

Спасибо заранее.

1 Ответ

0 голосов
/ 05 августа 2009

Обратите внимание на пример Привязки данных и пример Иерархическая привязка данных .

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

Вы можете прочитать таблицу базы данных в список или набор данных, как в примере , и добавить туда отсутствующие корневые элементы.

Или, если вы используете декларативное связывание (в ASPX), вы можете использовать операторы UNION в запросе SQL:

SELECT 
id
,CASE WHEN Category = 'Male' THEN -1 ELSE -2 END AS ParentID
,name
FROM table

UNION

SELECT 
-1 AS id
NULL As ParentID
'Male' AS name

UNION

SELECT 
-2 AS id
NULL As ParentID
'Female' AS name
...