![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
сохранение новой ширины колонки [D7, Paradox]
Настенька © (2004-10-14 16:07:00)Добрый вечер!!! У меня есть дбгрид. Во время работы приложения я меняю ширину колонки (св-во dgColumnResize=true), но после того, как я делаю какой-нибудь запрос, новый размер ширины колонки меняется на старый. Как мне и где сохранить новое значение ширины колонки.
Zacho (2004-10-19 21:41:00) [1]
> Axe
А какая разница ?
> Настенька
Забей. Для твоей задачи это не нужно.
Axe (2004-10-19 18:12:00) [2]Маленький вопросик а записей(rows) в открываемых таблицах много(сколько)
сергей1 (2004-10-17 11:18:00) [3]>я заранее не знаю, сколько у нее полей, и какой ширины будут колонки
я-же и говорю, вычисляй ширину колонки в событии DBGrid1DrawDataCell. Ну а если тебе надо, что-бы пользователь мог менять ширину, и это значение сохранялась, то следуй совету Виталий Панасенко.
w:=form1.DBGrid1.Columns[1].Width
после переоткрытия датасета :
form1.DBGrid1.Columns[1].Width:=w;
Настенька (2004-10-17 11:07:00) [4]так грид их сам выставляет. через opendialog я открываю любую таблицу, и грид ее отображает.
YurikGL (2004-10-17 11:06:00) [5]
> Настенька (17.10.04 10:48) [15]
Т.е. в одном гриде открываешь разные по структуре таблицы? А заголовки как тогда выставляешь?
Настенька (2004-10-17 10:48:00) [6]я меняю ее затем, что когда я открываю таблицу, я заранее не знаю, сколько у нее полей, и какой ширины будут колонки. может, пользователю нравится по своему изменить ширину.
сергей1 (2004-10-17 09:42:00) [7]2 Настенька
а зачем ты меняешь ширину колонок ? Надо делать так, что-бы он сразу возникал нужной ширины. Для полей фиксированной длины (числовых например), делай как говорит YurikGL ©. Если-же поле текстовое и длина строки может значительно меняться от строки к строке - то длину можно вычислить. (в событии DBGrid1DrawDataCell вычислять макс. длину строки и соответственно менять ширину колонок)
YurikGL (2004-10-17 08:43:00) [8]
> Во время работы приложения я меняю ширину колонки (св-во
> dgColumnResize=true), но после того, как я делаю какой-нибудь
> запрос, новый размер ширины колонки меняется на старый.
> Как мне и где сохранить новое значение ширины колонки.
Если я правильно понял, речь идет не о том, что после перезапуска программы ширина колонки меняется, а именно после нового запроса. Советую дважды кликнуть на TDBGrid в появившемя окне кликнуть на addAllFields и у появившихся колонок выставить нужную ширину.
Хотя ИМХО все это лучше делать с ehLib.
Zacho (2004-10-16 21:58:00) [9]Настенька (16.10.04 20:53) [11]
Самое простое - использвать TDBGridEh из EhLib ( http://www.ehlib.com/RUS/default.htm)
Настенька (2004-10-16 20:53:00) [10]а может как-то попроще все это можно делать?
46_55_41_44 (2004-10-16 10:11:00) [11]Можно использовать RxDbGrid + FormStorage (RxLib).
У RxDbGrid есть свойство IniStorage где указывается FormStorage.
В самом FormStorage указываешь ini файл куда все сохраняться будет(по умолчанию будет записываться в c:\WINDOWS(WINNT)\имяпроекта.ini)...
Andrey V. (2004-10-15 13:41:00) [12]Я бы посоветовал перейти на dbEhGrid там есть
SaveColumnsLayoutIni/RestoreColumnsLayoutIni
(и много еще чего из-за чего стоит прейти на этот компонент)
вместе с шириной можно запомнить и номер колонки.
2Val: KHYF, но кончай прикалываться :-))
2Настенька: ИМХО - аббревиатура, что в расшифрованном виде означает "по моему скромному мнению"
см. http://a-vnukov.narod.ru/pages/otherpage.htm
Ильш (2004-10-15 11:23:00) [13]ini файл для хранения значений и отттуда считывай туда записывай
а как реализовать это все - ну уж ващщщеее читайте доки!!!
Настенька (2004-10-15 10:43:00) [14]мне нужен пример кода, как предлагает господин Панасенко? сама я не знаю, как это сделать.
Val (2004-10-15 10:40:00) [15]а вы его не пишете?
Настенька (2004-10-15 10:38:00) [16]ну вот того, что предложил господин Панасенко. и мне конкретно код нужен?
Val (2004-10-15 10:25:00) [17]кто такой ИМХО?
Местный языческий божок. Его все упоминают всуе - чем больше - тем он будет благосклоннее.
а есть еще какие-нибудь способы получше.
получше чего?
Настенька (2004-10-15 10:20:00) [18]кто такой ИМХО? объясните мне. а есть еще какие-нибудь способы получше. может кто-то уже это конкретно делал?
Sergey13 (2004-10-15 09:50:00) [19]2 Настенька (14.10.04 16:07)
> но после того, как я делаю какой-нибудь запрос
Вряд ли от этого. Скорее, ИМХО, у тебя динамически создается форма с гридом при перезапросе - отсюда и потеря размеров. Если это так, то можно запоминать размеры колонок при закрытии формы и восстанавливать при создании. Или подумать о одновременном создании (и удалении ессно) формы грида, при создани формы с кнопкой открытия запроса.
Виталий Панасенко (2004-10-15 09:39:00) [20]До выполнения запроса запомни в переменной, после выполнения - поменяй ширину на запомненную...