Components for Delphi and C++ Builder.

Перейти в английский форум
Перейти на EhLib.com
Текущее время: 29 мар 2024, 11:47

Часовой пояс: UTC




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: Использование DataAppend при DataGrouping
СообщениеДобавлено: 15 дек 2015, 12:57 
Не в сети

Зарегистрирован: 11 сен 2015, 08:48
Сообщений: 9
Здравствуйте. Вот такой вопрос.

I. Пытаюсь сделать добавление и вставку строк в грид с группами (DataGrouping).
При использовании метода DataAppend происходит добавление строки вне группы (см. рис)
Вложение:
Безымянный 1.JPG
Безымянный 1.JPG [ 51.55 KiB | Просмотров: 1170 ]




А если нажать кнопку VK_DOWN на последней строки таблицы, то добавляется сразу в текущую группу (что и требуется)
Вложение:
Безымянный 2.JPG
Безымянный 2.JPG [ 44.91 KiB | Просмотров: 1170 ]


Пытаюсь заставить Grid всегда добавлять строки как-будто нажата VK_DOWN в последней строке последней группы.
Но возникает трудность в получении последней строки.

Делаю так
DBGridEh.DataSource.DataSet.Last;
SendMessage(DBGridEh.Handle, WM_KEYDOWN, VK_DOWN , 0);

или так
DBGridEh.Row:=DBGridEh.RowCount-1;
SendMessage(DBGridEh.Handle, WM_KEYDOWN, VK_DOWN , 0);


Если это последняя строка Dataset, то она может не быть последней в Grid из-за сортировки групп. Тоже касается DBGridEh.Row.
Более того, если выполнить DBGridEh.Row:=DBGridEh.RowCount-1;
и щелкнуть мышью на верхнюю группу , то курсор упрыгивает не на ту строку.

Если последняя группа свернута, VK_DOWN не работает (но это лекго обойти).

Как мне решить эту проблему?
Трудно будет пользователям заполнять огромные формы, если строки будут добавляться всегда на самый верх.

II. И еще дополнение к вопросу.
Мне пришлось отказаться от суммирующего Footer'а, т.к. строка Всего должна быть сверху , Наименование должно в ней задаваться, а в разделе Всего может быть несколько строк, которые введет пользователь по своему желанию.

Отсюда получается так, что текст групп Всего/В том числе повторяется 2 раза (в заголовке самой группы и в первой строке группы).
Как лучше скрыть его из виду? (переопределить OnDrawDataCell?)


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB