![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вычисляемые поля [D6, MSSQL]
.alex © (2005-02-18 17:10:00)Создал два вычисляемых поля, т.е. я в запросе написал:
ADOQuery1.SQL.Text := 'use mscstat select *, 0.0 as ErlB, '''' as UseCurDay from adph where DateM = ''' + FormatDateTime('yyyy-mm-dd', DateTimePicker1.DateTime) + '''';
В свойствах этих полей поставил fkCalculated и обрабатываю ADOQuery1CalcFields
procedure 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?
.alex (2005-02-19 19:17:00) [1]Anatoly Podgoretsky, спасибо я разобрался.
Anatoly Podgoretsky (2005-02-19 17:06:00) [2]Свои это значит расчетные Calculated Field вот их и создай, можно двойным щелчок на твоем TDataSet, в самом гриде нет никаких полей, это инструмент для показа полей из набора данных.
Если же не свои расчетные, то это делается на стороне сервера.
.alex (2005-02-19 14:08:00) [3]
> А зачем его смотреть...
Что что я не догоняю, кого "его"?
Может я ошибся в терминалогии, тады извеняйте. Мне нужно чтобы в DBGrid'e я мог вместо реальных значений, которые берутся из базы, подставлять свои, которые считаются или преобразуются на основе реальных... Как это можно сделать?
Anatoly Podgoretsky (2005-02-19 13:12:00) [4]А зачем его смотреть, у тебя там про расчетные поля, а эти такими не являются, они формируются на сервере, а не на клиенте.
.alex (2005-02-19 12:57:00) [5]Desdechado, ещё какие-нибудь совету будут?
.alex (2005-02-18 18:05:00) [6]
> если только одно присваивается, значит, второму не присваиваешь
> а если присваиваешь и оно не хочет, то это из-за того, что
> для поля установил Readonly и давишь exception
Как это не присваиваю? Посмотри мой код. И иключения я тоже нигде не "давил", щаз даже снял везде read-only, все равно второй поле пустое. почему?
Desdechado (2005-02-18 17:55:00) [7]если только одно присваивается, значит, второму не присваиваешь
а если присваиваешь и оно не хочет, то это из-за того, что для поля установил Readonly и давишь exception
.alex (2005-02-18 17:50:00) [8]
> .alex (18.02.05 17:29) [2] Врешь.
Это Вы про read-only? Я установил у DBGrid, у его полей и у полей ADOQuery свойство read only в TRUE, а вот свойства ReadOnly у ADOQuery я не нашёл...
.alex (2005-02-18 17:46:00) [9]
> вычисляемые поля создаются на клиенте обычно в дизайн-тайме,
> и вычисляются на основе других полей датасета (тоже обычно)
> в обработчике OnCalcFields
Ладно, но в принципе мне они не нужны, мне просто интересно почему в моем примере данные подставляются только в поле ErlB, а в UseCurDay - нет?
Mike Kouzmine (2005-02-18 17:46:00) [10].alex (18.02.05 17:29) [2] Врешь.
Desdechado (2005-02-18 17:36:00) [11]что значит заставить работать? лопатой?
вычисляемые поля создаются на клиенте обычно в дизайн-тайме, и вычисляются на основе других полей датасета (тоже обычно) в обработчике OnCalcFields
Если не помогает, тогда в морг...
.alex (2005-02-18 17:29:00) [12]
> это не вычисляемые поля, это подставные поля явно
Хорошо, как мне тогда заставить работать эти подставляемые поля?
> у грида есть свойство такое, и у полей есть readonly, и
> у датасета есть Readonly, и у колонок в гриде есть readonly
Я спрашивал, как можно запретить редактирование DBGrid, установка всех этих свойств не помогает
Desdechado (2005-02-18 17:17:00) [13]это не вычисляемые поля, это подставные поля явно
у грида есть свойство такое, и у полей есть readonly, и у датасета есть Readonly, и у колонок в гриде есть readonly