Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вычисляемые поля [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


Наверх

Титульная страница Поиск, карта сайта Написать письмо