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

Вниз

Изменение Caption а QRDBText а   Найти похожие ветки 

 
JEff   (2002-03-08 16:09) [0]

Господа! Каким образом мне программно сменить Caption QRDBText"а. Так то вроде меняю, но при Preview всё остаётся прежним. Пожалуёста, помогите!!!!!!!!


 
Delirium   (2002-03-08 16:10) [1]

QRDBText - это для обращения к данным из TDataSet, пользуй QRLabel


 
JEff   (2002-03-08 19:10) [2]

Так в том то и дело, что мне нужно использовать QRDBText и брать данные из TDataSet. QRLabel мне не нужен!


 
Anatoly Podgoretsky   (2002-03-08 21:31) [3]

Если тебе менять, то какая разница, ведь данные то не нужны


 
Johnmen   (2002-03-09 02:31) [4]

QRDBText.DataSet:=<что надо>
QRDBText.DataField:=<что надо>


 
JEff   (2002-03-09 13:10) [5]

To Anatoly Podgoretsky:
Именно данные мне то и нужны!
To Johnmen:
В том то весь и косяк: я всё делаю именно так и при пошаговой прогонке (F7/F8) вижу, что Caption изменяется, а когда дело доходит до метода Preview, то в окне Print Preview
вижу прежние значения:(


 
Anatoly Podgoretsky   (2002-03-09 13:25) [6]

Нут как же нужны, если ты из сразу выкилываешь за ненадобностью
"сменить Caption QRDBText", так что вполне устраивает и QRLabel


 
DmitriyS   (2002-03-09 14:57) [7]

Если не ошибаюсь, у QRDBText есть событие OnPrint поменяй там Value:
if Value=0 then value:="-"


 
Anatoly Podgoretsky   (2002-03-09 15:02) [8]

Он хочет именно Caption поменять.


 
JEff   (2002-03-09 15:48) [9]

To Anatoly Podgoretsky:
Блин! Хорошо. Я неправильно поставил вопрос. Нужно тогда так:
Каким образом мне программно изменить DATAFIELD QRDBText"а?
Просто под Caption я подразумевал видимое значение QRDBText"а.
To DmitriyS:
Если менять Value в OnPrint, то меняется именно CAPTION.
И в примере, приведённом тобой, при вызове Preview на экране будут столбцы с одинаковыми значениями: "-".

Другими словами - получается некого рода глюк: вроде всё меняется, но в то же время ничего не меняется!!!


 
Anatoly Podgoretsky   (2002-03-09 16:06) [10]

Если менять Value в OnPrint, то меняется только отображение.
Пример не рабочий, Value это строковое значение!
if (Value="") or (Value="0") then Value:="NULL"
Естественно необязательно сравнивать Value с чем либо, можно производить любые операции с чем угодно и формировать Value должным образом, например Value := FormatDateTime(LongDateFormat + " " + LongTimeFormat,TableDateTimeField-3/24).

Опять же не понятно, что ты имеешь ввиду когда говоришь "изменить DATAFIELD QRDBText"а", непонятно.
QRDBText практически менять нельзя, меняй отображение.


 
Bor   (2002-03-09 19:24) [11]

А вы уверены что у вас в DataSet.DataField имеются данные?
Может стоит поискать здесь?


 
Anatoly Podgoretsky   (2002-03-09 20:18) [12]

А там их и быть не может, там только имя поля


 
JEff   (2002-03-10 09:52) [13]

Короче большой косяк!!!!!!!!


 
Anatoly Podgoretsky   (2002-03-10 10:14) [14]

Да никаких проблем нет, просто ты не рассказываешь, как у тебя реализовано, что хочешь получить, а мы телепаты плохие.
Ну так долго можно вести разговор, трепаться.


 
Bor   (2002-03-10 10:53) [15]

>Anatoly Podgoretsky © (09.03.02 20:18)
А там их и быть не может, там только имя поля


Согласен. Имелось ввиду, что в вышеуказанном поле содержаться данные.


 
JEff   (2002-03-16 17:02) [16]

OK. Чтобы просто так не трепаться ПОСТАРАЮСЬ всё объяснить:
в моеё программе имеются 7 таблиц, каждая имеет по четыре столбца. На отдельной форме создаётся отчёт. Мне нужно реализовать возможность печати любой таблицы. В отчёте я использую 4 QRDBText"а, но в зависимости от выбранной таблицы нужно вндь менять в QRDBText"ах и DataSet и DataField. Так вот это как раз прогаммно сделать и не получается. Вот в этом и проблема. Как быть не знаю:(


 
Anatoly Podgoretsky   (2002-03-16 17:14) [17]

Нет не нужно, особенно в последних двух, достаточно если будешь менять Value в OnPrint, или пересмотреть подход к таблицам, например устанавливать правильное TableName


 
JEff   (2002-03-16 19:25) [18]

Если я буду менять Value то будет меняться Caption а не DataField.
пересмотреть подход к таблицам, например устанавливать правильное TableName
Это вы о чем?


 
Anatoly Podgoretsky   (2002-03-16 19:38) [19]

Про DataField и Caption тебе уже объясняли, первое содержит имя поля, а сторое значение, менять его нельзя, для этого есть Value в событии OnPrint
Про таблицы ты заявил сам, если они у тебя одинаковые то можно менять TableName у компеонеты TTable, иначе менять Value
Похоже что ты совсем не понимаешь принципы работы генератора отчетов.


 
JEff   (2002-03-17 17:08) [20]

Может я просто не так выразился - если я буду менять Value, то
будет изменяться видимое значение, т.е. когда я в OnPrint QRDBTetx"а пишу value:=Table1hhh.FieldName (где hhh - имя поля),
то в отчёте я буду лицезреть столбик с "hhh".
А если на прямую менять DataField, то он не меняется.

Похоже что ты совсем не понимаешь принципы работы генератора отчетов.
Вполне возможно. Это моя первая программа где я начал их использовать.


 
dymka   (2002-03-17 18:21) [21]

Я не понял.. какой еще Caption у TQRDBText???
Эта компонента нужна для отображения значения какогото определенного поля. У него есть два свойства DataSet - источник данных и DataField поле у источника данных. Нужно менять их, но не забывать еще о такой фишке, что у TQuickRep тоже есть свойство DataSet. Т.е. если ты хочешь одним отчетом выводить разные таблицы, то измени DataSet у TQuickRep и измени DataSet и DataField у каждого TQRDBText.


 
JEff   (2002-03-18 18:17) [22]

Ну под Caption подразумевается видимое значение метки.
Я именно так всё и меняю, но не хрена не получается.


 
IronHawk   (2002-03-18 18:53) [23]


> JEff ©

КОД В СТУДИЮ !

> Anatoly Podgoretsky ©

Реализуйте кодом свои советы !


 
Anatoly Podgoretsky   (2002-03-19 22:07) [24]

Да пожалуйста

Value := "ABC";


 
JEff   (2002-03-22 15:58) [25]

> Anatoly Podgoretsky
И тогда я буду лицезреть столбец с "ABC":(


 
DeadMoroz   (2002-04-04 13:23) [26]

попробуй закрывать сессию полностью....
Короче, перед переключении (изменении)DataSet делай:
Database.Connection:=false;
Database.Connection:=true;


 
Johnmen   (2002-04-04 14:22) [27]

>DeadMoroz © (04.04.02 13:23) : А пожет быть просто выйти из проги и снова зайти ? :)

Однозначный ответ уже дан : dymka © (17.03.02 18:21)


 
Anatoly Podgoretsky   (2002-04-04 14:26) [28]

JEff © (22.03.02 15:58)
А ты замени ABC на нужное, Например: Form1.xxx.yyy или на другое нужное, не запрещено и использование любого DataSet.


 
Johnmen   (2002-04-04 14:41) [29]

>Anatoly Podgoretsky © : >Form1.xxx.yyy добавить еще .ййй :)

Анатолий, как попасть на твой сайт ?



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

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

Наверх




Память: 0.53 MB
Время: 0.015 c
6-39821
HDD
2002-02-20 05:54
2002.05.13
Помогите пожалуйста


1-39708
Shiza
2002-04-24 19:09
2002.05.13
Перевод из C++ в дельфи


6-39823
boogier
2002-03-01 11:47
2002.05.13
Как получить список доступных в сети ресурсов компьютера по имени компьютера?


1-39742
Ross
2002-04-27 19:22
2002.05.13
Где моя ошибка?


7-39869
NW
2002-02-14 19:07
2002.05.13
Виртуальный логический диск