Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];

Вниз

сохранение новой ширины колонки   Найти похожие ветки 

 
Настенька   (2004-10-14 16:07) [0]

Добрый вечер!!! У меня есть дбгрид. Во время работы приложения я меняю ширину колонки (св-во dgColumnResize=true),  но после того, как я делаю какой-нибудь запрос, новый размер ширины колонки меняется на старый. Как мне и где сохранить новое значение ширины колонки.


 
Виталий Панасенко   (2004-10-15 09:39) [1]

До выполнения запроса запомни в переменной, после выполнения - поменяй ширину на запомненную...


 
Sergey13 ©   (2004-10-15 09:50) [2]

2 Настенька   (14.10.04 16:07)
> но после того, как я делаю какой-нибудь запрос
Вряд ли от этого. Скорее, ИМХО, у тебя динамически создается форма с гридом при перезапросе - отсюда и потеря размеров. Если это так, то можно запоминать размеры колонок при закрытии формы и восстанавливать при создании. Или подумать о одновременном создании (и удалении ессно) формы грида, при создани формы с кнопкой открытия запроса.


 
Настенька   (2004-10-15 10:20) [3]

кто такой ИМХО? объясните мне. а есть еще какие-нибудь способы получше. может кто-то уже это конкретно делал?


 
Val ©   (2004-10-15 10:25) [4]

кто такой ИМХО?
Местный языческий божок. Его все упоминают всуе - чем больше - тем он будет благосклоннее.
а есть еще какие-нибудь способы получше.
получше чего?


 
Настенька   (2004-10-15 10:38) [5]

ну вот того, что предложил господин Панасенко. и мне конкретно код нужен?


 
Val ©   (2004-10-15 10:40) [6]

а вы его не пишете?


 
Настенька   (2004-10-15 10:43) [7]

мне нужен пример кода, как предлагает господин Панасенко? сама я не знаю, как это сделать.


 
Ильш   (2004-10-15 11:23) [8]

ini файл для хранения значений и отттуда считывай туда записывай
а как реализовать это все  - ну уж ващщщеее читайте доки!!!


 
Andrey V. ©   (2004-10-15 13:41) [9]

Я бы посоветовал перейти на dbEhGrid там есть SaveColumnsLayoutIni/RestoreColumnsLayoutIni
(и много еще чего из-за чего стоит прейти на этот компонент)
вместе с шириной можно запомнить и номер колонки.

2Val: KHYF, но кончай прикалываться :-))
2Настенька: ИМХО - аббревиатура, что в расшифрованном виде означает "по моему скромному мнению"
см. http://a-vnukov.narod.ru/pages/otherpage.htm


 
46_55_41_44 ©   (2004-10-16 10:11) [10]

Можно использовать RxDbGrid + FormStorage (RxLib).
У RxDbGrid есть свойство IniStorage где указывается FormStorage.
В самом FormStorage указываешь ini файл куда все сохраняться будет(по умолчанию будет записываться в c:\WINDOWS(WINNT)\имяпроекта.ini)...


 
Настенька   (2004-10-16 20:53) [11]

а может как-то попроще все это можно делать?


 
Zacho ©   (2004-10-16 21:58) [12]

Настенька   (16.10.04 20:53) [11]
Самое простое - использвать TDBGridEh из EhLib ( http://www.ehlib.com/RUS/default.htm )


 
YurikGL ©   (2004-10-17 08:43) [13]


> Во время работы приложения я меняю ширину колонки (св-во
> dgColumnResize=true),  но после того, как я делаю какой-нибудь
> запрос, новый размер ширины колонки меняется на старый.
> Как мне и где сохранить новое значение ширины колонки.


Если я правильно понял, речь идет не о том, что после перезапуска программы ширина колонки меняется, а именно после нового запроса. Советую дважды кликнуть на TDBGrid в появившемя окне кликнуть на addAllFields и у появившихся колонок выставить нужную ширину.

Хотя ИМХО все это лучше делать с ehLib.


 
сергей1   (2004-10-17 09:42) [14]

2 Настенька
а зачем ты меняешь ширину колонок ? Надо делать так, что-бы он сразу возникал нужной ширины. Для полей фиксированной длины (числовых например), делай как говорит YurikGL ©. Если-же поле текстовое и длина строки может значительно меняться от строки к строке - то длину можно вычислить. (в событии DBGrid1DrawDataCell вычислять макс. длину строки и соответственно менять ширину колонок)


 
Настенька   (2004-10-17 10:48) [15]

я меняю ее затем, что когда я открываю таблицу, я заранее не знаю, сколько у нее полей, и какой ширины будут колонки. может, пользователю нравится по своему изменить ширину.


 
YurikGL ©   (2004-10-17 11:06) [16]


> Настенька   (17.10.04 10:48) [15]

Т.е. в одном гриде открываешь разные по структуре таблицы? А заголовки как тогда выставляешь?


 
Настенька   (2004-10-17 11:07) [17]

так грид их сам выставляет. через opendialog я открываю любую таблицу, и грид ее отображает.


 
сергей1   (2004-10-17 11:18) [18]

>я заранее не знаю, сколько у нее полей, и какой ширины будут колонки
я-же и говорю, вычисляй ширину колонки в событии DBGrid1DrawDataCell. Ну а если тебе надо, что-бы пользователь мог менять ширину, и это значение сохранялась, то следуй совету Виталий Панасенко.

w:=form1.DBGrid1.Columns[1].Width

после переоткрытия датасета :

form1.DBGrid1.Columns[1].Width:=w;


 
Axe   (2004-10-19 18:12) [19]

Маленький вопросик а записей(rows) в открываемых таблицах много(сколько)


 
Zacho ©   (2004-10-19 21:41) [20]


> Axe

А какая разница ?

> Настенька  

Забей. Для твоей задачи это не нужно.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.036 c
14-1099428143
TDK
2004-11-02 23:42
2004.11.21
Загрузка и синий экран "смерти"


14-1099422893
ИМХО
2004-11-02 22:14
2004.11.21
Заглянем в будущее


4-1097410364
Stany
2004-10-10 16:12
2004.11.21
запуск программы с обработкой кодов возврата


14-1099656127
anton2v
2004-11-05 15:02
2004.11.21
Кто такой мастер


1-1099929213
PURGEN
2004-11-08 18:53
2004.11.21
Моргания..





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский