![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
DataType - какой для double? [D7, MySQL]
Раиса © (2010-05-03 14:23:00)Не могу понять, почему некорректно работает.
Цель: если тип поля примерно числовой, то одна ширина столбца, для других другая, больше.
Проверяю тип поля. Если в ТАБЛИЦЕ тип поля 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;
Где у меня ошибка?
Раиса (2010-05-03 14:59:00) [1]
> Медвежонок Пятачок © (03.05.10 14:44) [1]
Вы правы. Проблема была в порядке полей в Dataset и в DBGrid.
> Медвежонок Пятачок © (03.05.10 14:46) [2]
ftFloat - был в списке, скопировала не оттуда.
Промучилась долго, написала вопрос и нашла причину.
От перестановки мест.... меняется результат...
Спасибо, тема закрыта.
Медвежонок Пятачок (2010-05-03 14:46:00) [2]А если double, то почему-то "широкий".
Потому что во множестве нет ftFloat
Медвежонок Пятачок (2010-05-03 14:44:00) [3]А откуда уверенность, что индекс поля в датасете всегда равен индексу колонки грида?