-
Не могу понять, почему некорректно работает.
Цель: если тип поля примерно числовой, то одна ширина столбца, для других другая, больше.
Проверяю тип поля. Если в ТАБЛИЦЕ тип поля double, то почему-то не идет по ветке. Если integer или sum поля double, то столбец "узкий". А если double, то почему-то "широкий".if (DBGrid_.DataSource.DataSet.Fields[i].DataType in
[ftVariant,ftSmallint,ftInteger,ftWord,ftLargeint,ftAutoInc,ftBCD,ftFMTBcd,ftByt es,ftVarBytes,ftCurrency]) then
DBGrid_.Columns[i].Width:=100
else
DBGrid_.Columns[i].Width:=200;
Где у меня ошибка? -
Медвежонок Пятачок © (03.05.10 14:44) [1]А откуда уверенность, что индекс поля в датасете всегда равен индексу колонки грида?
-
Медвежонок Пятачок © (03.05.10 14:46) [2]А если double, то почему-то "широкий".
Потому что во множестве нет ftFloat -
> Медвежонок Пятачок © (03.05.10 14:44) [1]
Вы правы. Проблема была в порядке полей в Dataset и в DBGrid.
> Медвежонок Пятачок © (03.05.10 14:46) [2]
ftFloat - был в списке, скопировала не оттуда.
Промучилась долго, написала вопрос и нашла причину.
От перестановки мест.... меняется результат...
Спасибо, тема закрыта.