Форум: "Потрепаться";
Текущий архив: 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.5 MB
Время: 0.004 c