Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2002.05.13;
Скачать: [xml.tar.bz2];

Вниз

Изменение 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.008 c
14-39853
Digitman
2002-04-04 08:47
2002.05.13
Разомнем слегка мозги ?


6-39817
VELK
2002-02-27 09:24
2002.05.13
Chat без сервера


6-39818
Olfi
2002-02-25 18:24
2002.05.13
Как проверить существование e-maila?


3-39672
wer
2002-04-17 19:08
2002.05.13
В запросе SUM не считает всё!


1-39722
SB.John
2002-04-27 11:04
2002.05.13
Как присвоить событию свою процедуру





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский