powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Как форматировать отдельную все ячейки столбца в DataGrid по своему правилу?
13 сообщений из 13, страница 1 из 1
Как форматировать отдельную все ячейки столбца в DataGrid по своему правилу?
    #39516742
хорошо я согласен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Накидал простенькое демо-приложение.
У меня есть столбцы Documents и Languages, которые являются коллекциями. Как можно внутри ячеек нарисовать соответствующие таблицы так, чтобы заголовок всех этих таблиц был в заголовке самой таблицы вместо надписей Documents и Languages?

По форуму искал. Пример основан на некоторых данных, найденных на форуме, но окончательного ответа не получается.

Главная форма:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
	<Grid>
		<Grid.ColumnDefinitions>
			<ColumnDefinition Width="99*"/>
			<ColumnDefinition Width="178*"/>
		</Grid.ColumnDefinitions>
		<ListBox x:Name="listBox" ItemsSource="{Binding Persons}" DisplayMemberPath="familyname" />
		<DataGrid Grid.Column="1" ItemsSource="{Binding Persons}" ItemTemplate="{DynamicResource tblGeneratedRowsTemplate}"/>
	</Grid>


в следующем сообщении текст программы.
...
Рейтинг: 0 / 0
Как форматировать отдельную все ячейки столбца в DataGrid по своему правилу?
    #39516746
хорошо я согласен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как форматировать отдельную все ячейки столбца в DataGrid по своему правилу?
    #39516968
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо я согласен,
не понятна постановка задачи- внутри ячеек нарисовать таблицы. Покажите визуально как должно выглядеть.
...
Рейтинг: 0 / 0
Как форматировать отдельную все ячейки столбца в DataGrid по своему правилу?
    #39517074
хорошо я согласен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я понимаю, что это как-то делается путём компоновки
DataGridColumnHeader

DataGridCell

DataGridCellsPresenter

DataGridTemplateColumn
Ищу информацию по всему перечисленному, гуглю по значению "Customization DataGrid Columns WPF" и т.д. что-то даже нахожу ( 1 , 2 , 3 ), но ответа пока не нашёл. Был бы рад, если бы кто-нибудь помог в этом вопросе.
...
Рейтинг: 0 / 0
Как форматировать отдельную все ячейки столбца в DataGrid по своему правилу?
    #39517084
хорошо я согласен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эта таблица полностью повторяет структуру моих классов.
Есть класc Person с полями, что видны в заголовках столбцов.
Последние два поля имеют типы
ObservableCoolection<DocumentInfo>

ObservableCoolection<LanguageInfo>
Т.е. такая иерархия получается, при этом все классы простые, без внутренней логики. Только свойства.
...
Рейтинг: 0 / 0
Как форматировать отдельную все ячейки столбца в DataGrid по своему правилу?
    #39517118
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо я согласен,

тебе нужно гуглить DataTemplateSelector.
...
Рейтинг: 0 / 0
Как форматировать отдельную все ячейки столбца в DataGrid по своему правилу?
    #39517125
хорошо я согласен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не слышал о таком, спасибо за направление!
...
Рейтинг: 0 / 0
Как форматировать отдельную все ячейки столбца в DataGrid по своему правилу?
    #39517140
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо я согласен,
Это если тебе нужно в определенных случаях применять такой шаблон, если везде, то тогда просто Template для DataGridCell.
...
Рейтинг: 0 / 0
Как форматировать отдельную все ячейки столбца в DataGrid по своему правилу?
    #39517394
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в базовом контроле это сделать нельзя.
не так давно тоже исследовал тему объединения ячеек в DataGrid.
работало только по горизонтале и были проблемы с перетаскиванием столбцов, но это можно было доработать.
мерждить ячейки между строками вообще не понятно как, так как ячейки скомпанованы по строкам.
работало это всё на переопределении методов Measure\Arrange для панели ячеек в строке.

Использую DataGrid желаемого эффекта автор если и добьется, то работать всё будет на костылях, через пень колоду. Лучше возьмите другой DataGrid от ComponentOne\Telerik и им подобным, там уже есть готовые контролы с теми возомжностями, что у вас есть
...
Рейтинг: 0 / 0
Как форматировать отдельную все ячейки столбца в DataGrid по своему правилу?
    #39517567
хорошо я согласен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так ведь речи-то не идёт о том, чтобы объединять ячейки.
У меня простой класс:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
    public class Person
    {
        public string familyname { get; set; }
        public string firstname { get; set; }
        public int age { get; set; }
        public string city { get; set; }
        public string post { get; set; }
        public string stage { get; set; }
        public ObservableCollection<DocumentInfo> Documents { get; set; }
        public ObservableCollection<LanguageInfo> Languages { get; set; }
    }


при этом поле Documents, в свою очередь, тоже является коллекцией строк с полями
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
    public class DocumentInfo
    {
        [XmlElement("type")]
        public string doctype { get; set; }
        [XmlElement("name")]
        public string docname { get; set; }
        [XmlElement("size")]
        public string docsize { get; set; }
    }


Соответственно, хотелось бы поменять шаблон ячейки таким образом, чтобы она представляла собой не одну ячейку, а грид. Заранее скажу, что мне не нужна какая-то рекурсия, типа, DocumentInfo, в свою очередь, тоже там содержит какой-то грид и т.д.
Вот здесь парень почти довёл до конца, но там кривокод. Мой код гораздо аккурантее, хотя часть наработок утараканил:) Хотя у него и столбцы местами меняются

Пока пытаюсь по инструкции с MSDN сделать подмену автогенерируемого столбца на свой, у которого каждая ячейка будет представлять собой таблицу без шапки на основе ListBox, и шапку отдельно сделать DataGridColumnHeader.
Хотя пока не получается)) что-то идёт не так.
...
Рейтинг: 0 / 0
Как форматировать отдельную все ячейки столбца в DataGrid по своему правилу?
    #39517632
хорошо я согласен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Описанный мной путь изысканий привёл меня к ответу. Безо всяких дополнительных компонентов - всё делается очень просто.

Roman MejtesИспользую DataGrid желаемого эффекта автор если и добьется, то работать всё будет на костылях, через пень колоду.
Категорически не согласен :)
...
Рейтинг: 0 / 0
Как форматировать отдельную все ячейки столбца в DataGrid по своему правилу?
    #39517649
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо я согласенОписанный мной путь изысканий привёл меня к ответу. Безо всяких дополнительных компонентов - всё делается очень просто.

Roman MejtesИспользую DataGrid желаемого эффекта автор если и добьется, то работать всё будет на костылях, через пень колоду.
Категорически не согласен :)


ну так то в любом гриде можно сделать, который умеет хотя бы ячейки отображать.
я говорил по мердж ячеек, свобдные таблицы, многоуровевые заголовки и прочее. а вы просто в ячейке отображаете список, это как бы разные вещи.
...
Рейтинг: 0 / 0
Как форматировать отдельную все ячейки столбца в DataGrid по своему правилу?
    #39517650
хорошо я согласен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtesэто как бы разные вещи.
так это как бы то, о чём я изначально спрашивал)
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Как форматировать отдельную все ячейки столбца в DataGrid по своему правилу?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]