Отношение отображения в сетке devexpress - PullRequest
0 голосов
/ 20 ноября 2018

Есть 2 объекта с отношениями между ними.Студент и класс.У каждого ученика есть один или несколько классов.Я хочу показать студента в сетке управления (devexpress winform), и я предпочитаю не использовать основные детали.Я хочу показать классы в одном столбце, например: класс A-класс B (в одной строке) или разделить строку, как слияние.

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018

Из какой базы данных поступает эта информация?
Если вы используете Sql Server, вы можете объединить данные в вашем запросе следующим образом:

declare @student table (studentid int, name varchar(20))
declare @class table (classid int, name varchar(20))
declare @studentclass table (studentid int, classid int)

insert into @student values (1, 'john'), (2, 'mary')
insert into @class values (1, 'english'), (2, 'mathematics')
insert into @studentclass values (1, 1), (1, 2), (2, 1)

select s.studentid,
       s.name,
       stuff(( replace (( select ' - ' + c.name
                          from   @class c
                            inner join @studentclass sc on c.classid = sc.classid
                          where  sc.studentid = s.studentid
                          order by c.name
                          For XML PATH ('')), '', '')
             ), 1, 3, '') as classes
from   @student s

Это вернет этот результат:

studentid   name    classes 
---------   ----    ------- 
1           john    english - mathematics   
2           mary    english 

Другие базы данных могут сделать это также, синтаксис будет отличаться от курса

0 голосов
/ 20 ноября 2018

Можно создать несвязанный столбец , чтобы заполнить его подробными данными.См. Как получить доступ к данным подробного представления в обработчике события CustomUnboundColumnData , чтобы узнать, как это сделать.

...