![]() |
Модераторы: gambit, Kefir, Partizan |
![]() ![]() ![]() |
|
CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 3 Всего: 28 |
Приветствую всех. Есть таблица (~16 колонок, 90 строк минимум). Некоторые ячейки являются смерженными, либо по вертикали, либо по горизонтали.
Сейчас сделано через грид, в ячейки которого вставлены TextBox'ы, а для сливания ячеек RowSpan, ColumnSpan используется. Проблема в том, что это ресурсоемко, отжирает немало памяти. Можно ли сделать подобный эффект через DataGrid? Таблица создается динамически. Это сообщение отредактировал(а) CYBERDREAM - 15.11.2010, 18:51 -------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 3 Всего: 28 |
Так и хочется написать HEEEEEEEEEEEEELP
![]() -------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
SergeyLoginov |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 28.9.2009 Где: Иваново Репутация: 4 Всего: 4 |
Можно. Но с рядом естественных ограничений (невозможность перестановки столбцов, сортировки и т.п.) и с изменением исходного кода самого DataGrid.
DataGrid от Microsoft, к сожалению, не позволяет объединять ячейки :( Я в свое время реализовал такую фичу. У меня без изменения исходников не получилось. У Вас тоже вряд ли получится. ![]() Ключевые моменты: изменение методов ArrangeOverride(...), MeasureOverride(...) и OnRender(...) в классах DataGridCell и DataGridCellsPresenter, а также метода ArrangeChild(...) в классе DataGridCellsPanel. Ну и плюс код для хранения информации об объединении. |
|||
|
||||
CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 3 Всего: 28 |
а что касается нагрузки, сильно жрет оперативку?
Добавлено через 2 минуты и 9 секунд сортировка и изменение порядка столбцов не нужны -------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
SergeyLoginov |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 28.9.2009 Где: Иваново Репутация: 4 Всего: 4 |
Касательно нагрузки, лично у меня получилось довольно плачевно, т.к. пришлось отключить виртуализацию строк/столбцов при поддержке объединения ячеек. Соответственно как и в гриде визуальные элементы всех ячеек грузятся в память сразу. Дело год назад было, я уж подзабыл первопричину сего ограничения, но причина есть (вроде бы из-за того, что надо знать размеры скрытых ячеек при генерации видимых на случай, если вдруг есть перекрытие их друг другом). Нас это устроило только потому что с объединением нам требуются только небольшие таблицы. В принципе, если усилия приложить, думаю, можно реализовать с виртуализацией. Задача нетривиальная, но по моей оценке скорее решаемая, чем нет.
Добавлено через 14 минут и 31 секунду Это я сужу о своей реализации. Я так прикинул, пути решения моей проблемы вроде есть. У Вас может и реализация будет такой, что виртуализация будет работать естественным образом. В общем, если очень надо, сделать можно. ![]() |
|||
|
||||
CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 3 Всего: 28 |
Ну если очень надо, то можно много чего) вопрос насколько)
-------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |