| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Вставка пустых строк в DBGrid обрабатывая выборку |
| Автор: Darked 14.1.2009, 16:14 | ||||
| Всем доброго времени суток. Суть в чём: я делаю запрос к базе, получаю список (лог) с фамилиями, которые могу повторяться, список сортирую по этим самым фамилиям. Список выводился в DBGrid автоматом. Всё бы хорошо, но начальство захотело, чтобы между фамилиями шла пустая строка... тут - то вот и не получается. Попытался забивать полученные записи вручную в DBGrid:
вываливаюсь с exception -
Как можно такое реализовать и можно ли? Интересует именно вывод в DBGrid, а не StringGrid и т.д.... |
| Автор: Данкинг 14.1.2009, 18:03 |
Это что - название DbGrid'а ? А зачем вообще его таким "странным" способом заполнять? |
| Автор: Akella 14.1.2009, 18:31 |
| выводи через хранимку, там можно с помощью suspend выводить пустые строки |
| Автор: Darked 14.1.2009, 20:29 |
| Akella, можно поподробнее? |
| Автор: Akella 14.1.2009, 21:59 | ||||
создаём хранимую процедуру
Выбираем данные
Результат ![]() |
| Автор: Deniz 15.1.2009, 06:34 |
| Darked, СУБД-то какая? Можно так же DBGrid прицепить к ClientDataSet а его заполнить руками из adoQry |
| Автор: Darked 15.1.2009, 07:03 |
| Deniz, база MS SQL Server 2005. У меня в принципе так и скреплено, если я тебя правильно понял, DBGrid -> DataSource -> ADOQuery Akella, спасибо!!! Пока идёт как претендент номер один на риализацию. |
| Автор: Akella 15.1.2009, 09:24 | ||
А что, в MS SQL нет подобия suspend`а? а сразу сообщать религия не позволяет? |
| Автор: Deniz 15.1.2009, 10:33 |
| нет |
| Автор: Darked 15.1.2009, 11:59 |
Изаиняюсь, ка к- то не подумал, сосредоточился на DBGride? так ка кменя больше интересовал клиентский вариант решений через ручную правку грида, а не на сервере. А так, вообще, подумал, посмотрел... решил что проще мне на StringGrid перейти, чем заморачиваться с DBGrid, получается как - то кривовасто с дбгридом, поэтому чуть - чуть изменю архетектуру и перейду на StringGrid, скорее всего. Всем большое спасибо за помощь!!!!! |
| Автор: Deniz 15.1.2009, 13:10 |
| не советую. |
| Автор: Darked 15.1.2009, 14:49 |
| Deniz, почему? Мне информация нужно чисто для вывода, менять данные я не буду. |
| Автор: Zloxa 15.1.2009, 14:57 |
А что начальство хочет делать с этой пустой строкой? И зачем, собственно, она(пустая строка) ему нужна? Может быть нужно просто увеличить вдвое высоту строки? Может ко всему еще и взять да отрисовать ячейку грида аля какбы две ячейки? |
| Автор: Darked 15.1.2009, 15:38 |
Zloxa, пустая строка для отделения фамилий в списке, типа:
|
| Автор: Deniz 15.1.2009, 15:49 |
| Darked, возьми нормальный DBGrid (http://www.devexpress.com/Downloads/VCL/ExQuantumGrid/), который умеет группировать записи (так же фильтры, суммы, сортировка и т.д.) и научи начальника им(DBGrid'ом) пользоваться. |
| Автор: Akella 15.1.2009, 21:22 |
это называется группировка Deniz, согласен с тобой. Да что там учить... чему? Перетягивать мышкой поле? Можно поставить на панели КНОПКУ и назвать Группирование по Фамилии. Deniz, через пару десятков сообщений может ещё что интересное у него выпытаем Добавлено через 1 минуту и 54 секунды Вот пример: ![]() |
| Автор: Darked 16.1.2009, 06:30 |
| Deniz, Akella, спасибо за советы, учту. Вот, очередная порция деталей Сделал на StringGrid'е и вроде как работает ) |
| Автор: Akella 16.1.2009, 13:21 |
| Darked, ну покажи ж тогда снимки экранов. |
| Автор: LSD 16.1.2009, 14:08 |
| Модератор: надоели вы мне со своим DBGrid-ом. Идите вы в Delphi |
| Автор: Akella 17.1.2009, 01:00 |
| грубо |
| Автор: Darked 20.1.2009, 12:18 |
Akella, вот пример:![]() |