Конференция "Начинающим" » DataType - какой для double? [D7, MySQL]
 
  • Раиса © (03.05.10 14:23) [0]
    Не могу понять, почему некорректно работает.
    Цель: если тип поля примерно числовой, то одна ширина столбца, для других другая, больше.
    Проверяю тип поля. Если в ТАБЛИЦЕ тип поля 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:59) [3]

    > Медвежонок Пятачок ©   (03.05.10 14:44) [1]


    Вы правы. Проблема была в порядке полей в Dataset и в DBGrid.


    > Медвежонок Пятачок ©   (03.05.10 14:46) [2]  

    ftFloat - был в списке, скопировала не оттуда.

    Промучилась долго, написала вопрос и нашла причину.
    От перестановки мест.... меняется результат...
    Спасибо, тема закрыта.
 
Конференция "Начинающим" » DataType - какой для double? [D7, MySQL]
Есть новые Нет новых   [134434   +28][b:0][p:0.001]