![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 11.03.2012
Сообщений: 29
|
![]()
Всем добрый день. Есть бдгрид в котором нужно сделать колонку с многострочным текстом. полазив инете много чего нашел. немного разобравшись кое-что сделал (не судите строго) вод код
Код:
1. при прокрутке проблемы прорисовки. 2. DBGrid->DataSource->DataSet->RecNo при достижении конца грида выводит ошибку что "Grid index out of range", т.е. вроде это индекса нет. Решение пока не придумал. 3. В гриде 5 или 6 строк которые стали больше тем самым не помещаются в видимой части. как сделать так чтобы при помещении курсора на строку в невидимой части "поднять" ее в видимую часть (скорее всего тут управление скролбаром) Возможно еще появятся вопросы. Прошу всех откликнутся кто сталкивался с проблемой. Делфистам тоже буду рад. Ответы типа "Возьми др. компонент типа ...." не писать. ![]() Последний раз редактировалось Bit_Man; 12.04.2012 в 06:55. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 17.11.2010
Сообщений: 262
|
![]() Код:
http://www.delphimaster.ru/articles/...rid/index.html Посмотри, может тут что еще подсмотрите. |
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 11.03.2012
Сообщений: 29
|
![]() Цитата:
Ссылка эта давно у меня открыта, но все равно спасибо. С StringGrid'ом легче. Код:
Код:
Код:
|
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 17.11.2010
Сообщений: 262
|
![]()
Надо же каждой строки, высоту поменять? Почему RecNo-1 - это заголовок?
нам нужен цикл: Код:
http://www.cyberforum.ru/delphi-data...ead442789.html |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 11.03.2012
Сообщений: 29
|
![]()
Да высоту каждой строки. DBGrid->DataSource->DataSet->RecNo - 1 на перввой записи (т.е. 1-1=0) ((TStringGrid*)DBGrid)->RowHeights[0] - это высота заголовка, а нам не зачем его трогать.
Ругаться по идее не должно и я так думал, практика взяла свое. Ошибку я уже писал. Пробовал и AfterQueryOpen пересчитывать и увеличивать размер строки, ошибка та же. |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 17.11.2010
Сообщений: 262
|
![]()
Сделав в цикле, который я написал, это будет i-ая строка , а не DBGrid->DataSource->DataSet->RecNo. Можно еще условие поставить,
Код:
Последний раз редактировалось Drugnir; 13.04.2012 в 11:59. |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 11.03.2012
Сообщений: 29
|
![]()
если мы сделаем так
Код:
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 17.11.2010
Сообщений: 262
|
![]()
Переписал, вместо DBGrid->DataSource->DataSet->RecNo, вот это DBGrid1->SelectedField->FieldNo. Ошибка не вылетает, но как-то криво работает и только на выбранной строке. Там проблема, как я понял, именно с номером строки.
Последний раз редактировалось Drugnir; 13.04.2012 в 13:22. |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 11.03.2012
Сообщений: 29
|
![]()
DBGrid1->SelectedField->FieldNo - это номер поля. Т.е. при прорисовке ты же никуда не перемещаешься на другое поле (field or column). вот у тебя и получается что 1 при открытии DataSet. Да проблема именно изза этого.
Смотри что получается. Если не изменять высоту строк, то при открытии DataSet DBGrid отрисовывает то количество строк которое может уместить (напирмер 5). При увеличении высоты строк при переходе с 5 на 6 запись у меня выходит ошибка. Последний раз редактировалось Bit_Man; 13.04.2012 в 13:37. |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 17.11.2010
Сообщений: 262
|
![]()
DBGrid2DrawColumnCell выполняется постоянно, при выборе ячейки, это я заметил, когда ненароком вставил туда цикл. По-этому и взял SelectedField, но блин, событие какое-то странное, даже когда выделил ячейку и ничего не делаешь, он все равно постоянно перерисовывает и лезет в DrawColumnCell. Думаю не очень подходит это событие.
Последний раз редактировалось Drugnir; 13.04.2012 в 13:53. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Многострочный текст | adaptive person | Общие вопросы Delphi | 4 | 11.03.2012 20:49 |
Многострочный DBGrid | anastasia_d | Помощь студентам | 15 | 04.03.2010 17:12 |
Многострочный запрос | Shyt | SQL, базы данных | 10 | 26.01.2010 18:34 |
Многострочный HINT | Alex Cones | Общие вопросы Delphi | 8 | 27.04.2009 18:08 |