Форум: "Базы";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];
Вниз
Вычисляемые поля Найти похожие ветки
← →
.alex (2005-02-18 17:10) [0]Создал два вычисляемых поля, т.е. я в запросе написал:
ADOQuery1.SQL.Text := "use mscstat select *, 0.0 as ErlB, """" as UseCurDay from adph where DateM = """ + FormatDateTime("yyyy-mm-dd", DateTimePicker1.DateTime) + """";
В свойствах этих полей поставил fkCalculated и обрабатываю ADOQuery1CalcFieldsprocedure TForm1.ADOQuery1CalcFields(DataSet: TDataSet);
begin
with DataSet do begin
FieldValues["ErlB"] := 1.5;
FieldValues["UseCurDay"] := "my string";
end //with DataSet do
end;
Но почему то, меняется полько поле ErlB, а поле UseCurDay так и остаётся пустым. Почему у меня не получается делать вычисляемые поля со строками?
ЗЫ. И ещё, как DBGriв сделать read-only?
← →
Desdechado © (2005-02-18 17:17) [1]это не вычисляемые поля, это подставные поля явно
у грида есть свойство такое, и у полей есть readonly, и у датасета есть Readonly, и у колонок в гриде есть readonly
← →
.alex (2005-02-18 17:29) [2]
> это не вычисляемые поля, это подставные поля явно
Хорошо, как мне тогда заставить работать эти подставляемые поля?
> у грида есть свойство такое, и у полей есть readonly, и
> у датасета есть Readonly, и у колонок в гриде есть readonly
Я спрашивал, как можно запретить редактирование DBGrid, установка всех этих свойств не помогает
← →
Desdechado © (2005-02-18 17:36) [3]что значит заставить работать? лопатой?
вычисляемые поля создаются на клиенте обычно в дизайн-тайме, и вычисляются на основе других полей датасета (тоже обычно) в обработчике OnCalcFields
Если не помогает, тогда в морг...
← →
.alex (2005-02-18 17:46) [4]
> вычисляемые поля создаются на клиенте обычно в дизайн-тайме,
> и вычисляются на основе других полей датасета (тоже обычно)
> в обработчике OnCalcFields
Ладно, но в принципе мне они не нужны, мне просто интересно почему в моем примере данные подставляются только в поле ErlB, а в UseCurDay - нет?
← →
Mike Kouzmine © (2005-02-18 17:46) [5].alex (18.02.05 17:29) [2] Врешь.
← →
.alex (2005-02-18 17:50) [6]
> .alex (18.02.05 17:29) [2] Врешь.
Это Вы про read-only? Я установил у DBGrid, у его полей и у полей ADOQuery свойство read only в TRUE, а вот свойства ReadOnly у ADOQuery я не нашёл...
← →
Desdechado © (2005-02-18 17:55) [7]если только одно присваивается, значит, второму не присваиваешь
а если присваиваешь и оно не хочет, то это из-за того, что для поля установил Readonly и давишь exception
← →
.alex (2005-02-18 18:05) [8]
> если только одно присваивается, значит, второму не присваиваешь
> а если присваиваешь и оно не хочет, то это из-за того, что
> для поля установил Readonly и давишь exception
Как это не присваиваю? Посмотри мой код. И иключения я тоже нигде не "давил", щаз даже снял везде read-only, все равно второй поле пустое. почему?
← →
.alex (2005-02-19 12:57) [9]Desdechado, ещё какие-нибудь совету будут?
← →
Anatoly Podgoretsky © (2005-02-19 13:12) [10]А зачем его смотреть, у тебя там про расчетные поля, а эти такими не являются, они формируются на сервере, а не на клиенте.
← →
.alex (2005-02-19 14:08) [11]
> А зачем его смотреть...
Что что я не догоняю, кого "его"?
Может я ошибся в терминалогии, тады извеняйте. Мне нужно чтобы в DBGrid"e я мог вместо реальных значений, которые берутся из базы, подставлять свои, которые считаются или преобразуются на основе реальных... Как это можно сделать?
← →
Anatoly Podgoretsky © (2005-02-19 17:06) [12]Свои это значит расчетные Calculated Field вот их и создай, можно двойным щелчок на твоем TDataSet, в самом гриде нет никаких полей, это инструмент для показа полей из набора данных.
Если же не свои расчетные, то это делается на стороне сервера.
← →
.alex (2005-02-19 19:17) [13]Anatoly Podgoretsky, спасибо я разобрался.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.04 c