Форум: "Базы";
Текущий архив: 2003.03.24;
Скачать: [xml.tar.bz2];
Внизпустые поля Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.009 c