RxFPC - версия 1.1.1.75
Модераторы: alexs, Модераторы
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
Очередное обновление
15.05.2007 - версия 1.1.1.75
+ В RxDBGrid добавлен метод OptimizeColumnsWidth(AColList:String) - подбирает
ширину колонки (колонок - перечисление через ";") по содержимому
+ В RxDBGrid добавлен метод OptimizeColumnsWidthAll - соотвественно производит автободбор
ширины для всех колонок
+ TRxColumn добавлен метод OptimizeWidth - подбор ширины указанной колонки
Для всех методов подбора ширины производится также выфетчивание всех записей
+ Опция rdgDblClickOptimizeColWidth в свойстве RxDBGrid.OptionsRx работает
- исправлен глюк расчёта высоты заголовка колонки для многострочного заголовка
- Исправлен глюк отерытия примера на RxDBGrid
+ В примере на RxDBGrid добавлен примера на оптимизацию ширины
15.05.2007 - версия 1.1.1.75
+ В RxDBGrid добавлен метод OptimizeColumnsWidth(AColList:String) - подбирает
ширину колонки (колонок - перечисление через ";") по содержимому
+ В RxDBGrid добавлен метод OptimizeColumnsWidthAll - соотвественно производит автободбор
ширины для всех колонок
+ TRxColumn добавлен метод OptimizeWidth - подбор ширины указанной колонки
Для всех методов подбора ширины производится также выфетчивание всех записей
+ Опция rdgDblClickOptimizeColWidth в свойстве RxDBGrid.OptionsRx работает
- исправлен глюк расчёта высоты заголовка колонки для многострочного заголовка
- Исправлен глюк отерытия примера на RxDBGrid
+ В примере на RxDBGrid добавлен примера на оптимизацию ширины
- Attid
- долгожитель
- Сообщения: 2588
- Зарегистрирован: 27.10.2006 17:29:15
- Откуда: 44°32′23.63″N 41°2′25.2″E
- Контактная информация:
все таки есть магическое информационое пространство
как раз недавно понадобился авторесайз колонок
делал для себя, а тут в rx появился =)
покладу пока сюда может кому пригодится , или покритикуют =)
код в RX еще не смотрел.
как раз недавно понадобился авторесайз колонок
делал для себя, а тут в rx появился =)
покладу пока сюда может кому пригодится , или покритикуют =)
код в RX еще не смотрел.
Код: Выделить всё
procedure ResizeGrid(var vGrid: TDBGrid);
var vNum:Integer;
var vLength:Integer;
var vColumn: TColumn;
begin
for vNum := 0 to vGrid.Columns.Count -1 do
begin
vGrid.Columns.Items[vNum].Width := Length(vGrid.Columns.Items[vNum].Title.Caption)*8;
end;
while not vGrid.DataSource.DataSet.EOF do
begin
for vNum := 0 to vGrid.Columns.Count -1 do
begin
vColumn := TColumn(vGrid.Columns[vNum]);
vLength := Length(vGrid.DataSource.DataSet.FieldByName(vColumn.FieldName).AsString)*8;
if vGrid.Columns.Items[vNum].Width < vLength then
vGrid.Columns.Items[vNum].Width := vLength;
end;
vGrid.DataSource.DataSet.Next;
end;
vGrid.DataSource.DataSet.First;
end;Есть мысли по RxDBGrid:
1. Вместо Footer и Filter Rows лучше сделать коллекцию закрепленных строк с опцией указания позиции (вверху/внизу) и возможностью пихать в них любые контролы.
2. "Странное" поведение заголовков колонок при изменении ширины, о котором писал Attid, неплохо было бы развить и для остальных строк.
Спасибо за библиотеку.
1. Вместо Footer и Filter Rows лучше сделать коллекцию закрепленных строк с опцией указания позиции (вверху/внизу) и возможностью пихать в них любые контролы.
2. "Странное" поведение заголовков колонок при изменении ширины, о котором писал Attid, неплохо было бы развить и для остальных строк.
Спасибо за библиотеку.
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
v-t-l писал(а):1. Вместо Footer и Filter Rows лучше сделать коллекцию закрепленных строк с опцией указания позиции (вверху/внизу) и возможностью пихать в них любые контролы.
Это ты намекаеш на аналог CtrlGrid-а из дельфей? или просто как TPanel?
для первого случая - LCL ещё не позволяет это делать
а для второго случая - я не вижу смысла
v-t-l писал(а):2. "Странное" поведение заголовков колонок при изменении ширины, о котором писал Attid, неплохо было бы развить и для остальных строк
А это омжно попробовать - в смысле сделать многострочным и содержимое ячеек с данными
alexs писал(а):я пока даже так и не умею))
Но ведь ты создаешь комбобоксы в рантайме для строки фильтров.
Почему бы не указывать подготовленный в дизайнтайме контрол.
alexs писал(а):глупый вопрос - а ЗАЧЕМ?
Можно лепить любые контролы на ячейки грида (хоть панели с контролами и обработчиками) - почти CtrlGrid
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
v-t-l писал(а):Но ведь ты создаешь комбобоксы в рантайме для строки фильтров.
Почему бы не указывать подготовленный в дизайнтайме контрол.
1. Комбобоксы работают только для одной строки
2. у меня нет времени на то, что мне самому не нужно - кстати - фильтра писал не я. соответсвенно - если хочеш такой функционал - давай код.
alexs писал(а):v-t-l писал(а):Но ведь ты создаешь комбобоксы в рантайме для строки фильтров.
Почему бы не указывать подготовленный в дизайнтайме контрол.
1. Комбобоксы работают только для одной строки
2. у меня нет времени на то, что мне самому не нужно - кстати - фильтра писал не я. соответсвенно - если хочеш такой функционал - давай код.
Ага, я тоже подумываю переписать на свой контрол, но займусь этим не раньше чем через месяц...
