Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.24;
Скачать: CL | DM;

Вниз

пустые поля   Найти похожие ветки 

 
Andy Eremin ©   (2003-03-06 08:47) [0]

Уважаемые Мастера!
Подскажите, как в сетке DBGrid пустые поля отображать как "0".
Альтернатива:
Пустые поля парадоксовской таблицы заменять на ноль.
P.S. Default Value (установленный в Database Desktop) не помогает


 
Mike Kouzmine   (2003-03-06 09:01) [1]

Возможно события прорисовки сетки, возможно, получения данных


 
AlexSerp ©   (2003-03-06 09:22) [2]

Все что есть проапдейть на 0.
На поле повесь обработчик, при сохранении пустые заменяй на 0.


 
stone ©   (2003-03-06 09:26) [3]

у TField есть свойство DisplayFormat, задай в нем маску и не парься


 
Andy Eremin ©   (2003-03-06 09:34) [4]

2 stone
Маска задана: ,0.####
Эффекта нет.

2 AlexSerp
Поле формируется SQL-запросом. Поля кучей кидаются, а не по-очереди. Так что метод не подходит.

2 Mike Kouzmine
Спасибо за "содержательный" ответ. Если можно, объясните поподробнее


 
passm ©   (2003-03-06 09:42) [5]

TField.GetText(Sender: TField; var Text: String; DisplayText: Boolean);
begin
if Sender.IsNull then
Text:= "0"
else
Text:= Sender.AsString
end;


 
Lord Warlock ©   (2003-03-06 09:42) [6]


> Andy Eremin © (06.03.03 09:34)
> 2 stone
> Маска задана: ,0.####
> Эффекта нет.


Такого не может быть, какой тип поля?


 
Andy Eremin ©   (2003-03-06 09:48) [7]

2 Lord Warlock
>Такого не может быть, какой тип поля?
Float



 
VAleksey ©   (2003-03-06 09:54) [8]

procedure TForm1.Table1SumGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
begin
if Text<"0" then Text:="Бла";
end;
Ну и так далее. Т.е. как хочешь делай парсинг строки и в переменную Text пиши все что хочешь :)


 
AlexSerp ©   (2003-03-06 10:00) [9]

Ну и что, что формируется SQL-запросом.
Даже если запрос формируется в RUN-тайме
все-равно возможно повесить обработчик.


 
Andy Eremin ©   (2003-03-06 10:02) [10]

2 passm, 2 VAleksey
Эти процедуры стандартные, или их мне самому необходимо описать?
Простите за глупый вопрос, но я действительно не знаю, как ими воспользоваться - новичок я.


 
passm ©   (2003-03-06 10:06) [11]

Andy Eremin © (06.03.03 10:02)> Это описание события и реализовывать его придется самому.


 
Lord Warlock ©   (2003-03-06 10:11) [12]


> Andy Eremin ©


Если ты оставишь DisplayFormat и поставишь DefaulExpression=0 то новые записи будут отображаться по маске.

или можно сделать так:

procedure TForm1.Table1ИмяПоляGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
begin
if Text="" then
Text:="0";
end;



 
Andy Eremin ©   (2003-03-06 10:17) [13]

2 passm:
Хорошо. Только маленький вопросик:
При вызове функции
TForm7.Table1SumGetText(Query1.FieldByName("Quantity"));
чего не хватает?


 
Andy Eremin ©   (2003-03-06 10:23) [14]

Люди! Объясните, как вызвать функцию и куда поставить запрос на ее вызов?


 
VAleksey ©   (2003-03-06 10:34) [15]

Ну слушай ну ведь ты пойми что объяснять очень долго, а народ в основном занятой. Да и вкнигах эту информацию можно легко найти.
Поэтому никто и не расшибается.
1) По квери правой кнопкой щелк
2) Пункт Add All Fields или что-то вроде него
3) Все поля добавь
4) на нужном поле с суммой двойной щелчок
5) пишешь как
> Lord Warlock © (06.03.03 10:11)


ЗЫ
Если это квери, то открой его перед выполнением этих операций.


 
Andy Eremin ©   (2003-03-06 10:40) [16]

Спасибо, спасибо, спасибо
ВСЕМ ВСЕМ ВСЕМ



Страницы: 1 вся ветка

Текущий архив: 2003.03.24;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.018 c
14-76623
SPeller
2003-03-07 17:11
2003.03.24
С праздником, дорогие женщины!


3-76281
roadrunner
2003-03-04 11:20
2003.03.24
В чем ошибка...Вроде бы все делаю правильно...Access и пароль


14-76618
Intell
2003-03-05 11:41
2003.03.24
Как использовать кодеки для TMediaPlayer


1-76401
АндрейБ
2003-03-13 02:39
2003.03.24
массив типа variant


3-76285
-=Sergeante=-
2003-03-04 11:32
2003.03.24
Interbase + диалап