| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > DbGrid |
| Автор: Loki3D 13.3.2006, 11:46 | ||
| Если кто то подобное уже реализовывал, то подскажите, как. Данную задачу я решил вот таким способом.
собственон в этом то вся и проблема. процедура записи новых значений Ширины стоит на событие рисования Ячейки, и вспринципе то все нормально. Но стоит вызвать что то типа Table.Active:= False; а потом Table.Active:= true; то Сетка рисуется заново и сохраняются значения ширины.. соответсвующие Длинне поля в Таблице БД. Вощем я Уперся В Алгоритм. А вопросы у меня такие. Как можно сделать вызов процедуры на изменение ширины столбца а не на прорисовку ячейки, такого события у DbGrid нету, может посоветуете др. компонент? Или такое событие можно Самому написать отредактировав Стандартный Компонент (В этом отношении я вообще знаниями не обладаю), поэтому хотел бы знать, стоит ли в это погружаться? |
| Автор: _hunter 13.3.2006, 12:15 |
| не совсем понятна проблема. устанавливай ширины один раз, после активации таблицы. зачем для этого событие искать? |
| Автор: Loki3D 13.3.2006, 18:36 |
| у меня в Grid Может открываться Таблица с разным количеством Столбцов. Я вот хочу чтобы пользователь, если и работает с одной таблицей, то имел возможность настроить ширину, Так чтоб она запомнилась и при последующей загрузке, повторно настраивать не приходилось. Так же у меня есть в программе событя которые временно закрывают набор данных.. а потом открывают его снова. вот именно при этом и получается, что в ИНИ записывается Ширина, соответсвующая длинне поля в БД тк Сетка начинает рисоваться заново. а на это событие у меня повешана Запись параметров Сетки в ИНИ. я то собственно хочу узнать.. есть ли компонент Сетки, в котором есть событие на изменение ширины столбца? или Если это не сложно, то как самому изменить Компонент TDbGrid чтобы в нем было такое событие? |
| Автор: _hunter 13.3.2006, 19:04 |
| всеравно нихт не понял. ну несколько таблиц есть и что? всеравно где-то они активируются/деактивируются. в этих местах и сохраняй значения. |
| Автор: Foley 14.3.2006, 00:14 |
| сделай чтоб в ини записывалось имя таблицы и соответственно настройки грида для этой таблицы. а сохраняй |
| Автор: Loki3D 19.3.2006, 00:37 |
| короче решил проблему тупо и не интересно.. везде где возможно поставил Процедуру сохранения параметров Сетки.. и после каждого события по обновлению.. вставил процедуру считывания параметров. от идеи сохранения значений столбцов во время рисования Ячеек или рисования Данных, пришлось отказаться всем большое спасибо за желание помоч |