Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / лавающие строки в отчете. Как сделать, чтобы при расширении / 17 сообщений из 17, страница 1 из 1
08.02.2008, 08:57
    #35118645
Galyamov Rinat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лавающие строки в отчете. Как сделать, чтобы при расширении
VFP 9.0 SP1

Как сделать, чтобы при расширении 1-ой строки до 2,3 строк происходило
смещение вниз второй строки, которая немного НАЛОЖЕННА на 1-ую???

Наложение сделано, чтобы строки были более близко друг к другу.

В свое время задача была решена просто. Первая строка привязана к TOP вторая
и последующие к BOTTOM.

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

Что можно предпринять???


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
08.02.2008, 09:10
    #35118656
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лавающие строки в отчете. Как сделать, чтобы при расширении
Поставить галку

Код: plaintext
1.
Stretch with overflow
Specifies that the bottom of a Field control is extended vertically down the page to contain the full value of the evaluated expression.
...
Рейтинг: 0 / 0
08.02.2008, 09:15
    #35118668
piva
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лавающие строки в отчете. Как сделать, чтобы при расширении
авторВ свое время задача была решена просто. Первая строка привязана к TOP вторая
и последующие к BOTTOM. Я обычно в таких случаях на остальных ставлю FLOAT
...
Рейтинг: 0 / 0
08.02.2008, 09:58
    #35118780
Galyamov Rinat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лавающие строки в отчете. Как сделать, чтобы при расширении
"piva" <nospam@sql.ru>; сообщил/сообщила в новостях следующее:
news:5260993@sql.ru...
> Автор: piva
> автор
> В свое время задача была решена просто. Первая строка привязана
> к TOP вторая
> и последующие к BOTTOM.
> Я обычно в таких случаях на остальных ставлю FLOAT

Я же говорю:
Сегодня понадобилось, чтобы и вторая строка стала раздвигаемой, а вот
плавающей ее сделать не могу за счет наложения.

Соответсвенно и раньше (еще на 6-ке не нашел как решить этот вопрос при
наложении строк)


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
08.02.2008, 10:37
    #35118930
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лавающие строки в отчете. Как сделать, чтобы при расширении
Galyamov Rinat
Я же говорю:
Сегодня понадобилось, чтобы и вторая строка стала раздвигаемой, а вот
плавающей ее сделать не могу за счет наложения.

Соответсвенно и раньше (еще на 6-ке не нашел как решить этот вопрос при
наложении строк)
Можешь самплес с твоей проблемой выложить? Не совсем понятно что тебя не устраивает.
...
Рейтинг: 0 / 0
08.02.2008, 11:56
    #35119309
Galyamov Rinat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лавающие строки в отчете. Как сделать, чтобы при расширении
"Dima T" <nospam@sql.ru>; сообщил/сообщила в новостях следующее:
news:5261487@sql.ru...
> Автор: Dima T
> Galyamov Rinat

> Соответсвенно и раньше (еще на 6-ке не нашел как решить этот
> вопрос при
> наложении строк)
>
> Можешь самплес с твоей проблемой выложить? Не совсем понятно что тебя
> не устраивает.

Самплес ща нарисую.

Вообщем проблему обошел :)


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
08.02.2008, 12:04
    #35119339
Galyamov Rinat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лавающие строки в отчете. Как сделать, чтобы при расширении
CREATE TABLE SamplesReport (test_1 c (100), test_2 c (100), test_3 c (100))
INSERT INTO SamplesReport VALUES ('Это моя длинная строка 1!', 'Это моя длинная строка 2!', 'Это моя длинная строка 3!')
REPORT FORM SamplesReport PREVIEW
...
Рейтинг: 0 / 0
08.02.2008, 12:09
    #35119361
Galyamov Rinat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лавающие строки в отчете. Как сделать, чтобы при расширении
В предыдущем сообщение в архиве лежит prg, которая создает необходимый
курсор и сам репорт.
Текст забыл удалить (сначала хотел в теле сообщения написать, потом решил
что лучше через вложение).

PS Перечитал сечас постановку вопроса - действительно несколько сумбурно
получилось.
Надеюсь в самплесах будет понятней :)


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
08.02.2008, 12:31
    #35119456
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лавающие строки в отчете. Как сделать, чтобы при расширении
А одно поле с таким содержимым не подойдет:
Код: plaintext
alltrim(test_1) + chr( 13 ) + alltrim(test_2)+ chr( 13 ) + alltrim(test_3)
...
Рейтинг: 0 / 0
08.02.2008, 13:59
    #35119878
Galyamov Rinat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лавающие строки в отчете. Как сделать, чтобы при расширении
"Dima T" <nospam@sql.ru>; сообщил/сообщила в новостях следующее:
news:5262536@sql.ru...
> Автор: Dima T
> А одно поле с таким содержимым не подойдет:
>
> alltrim(test_1) + chr(13) + alltrim(test_2)+ chr(13) + alltrim(test_3)
> Тема Ответить Сообщение


Нет. Есть ОДИН, но очень важный момент.
На самом деле репорт - это счет, довольно таки сложный с несколькими
"логическими" детайлами, реализованный еще на 6-ке (переделывать лень),
детайлы реализованы через print when - и несколькими наборами контролов.

Счет песатается на бумаге формата А5, а так как у него есть большая шапка с
реквизитами, большой детайл, и большой подвал с обратными реквизитами, то с
местом большая напряженка. Да и нелепо это выглядит, когда строки стоят
далеко друг от друга.

А перевод строки на следующую оставляет приличное место между строками.
Поэтому и необходим НАЕЗД строк друг на друга, т.к. позволяет без ущерба
вывести больше информации на одил лист. И выглядит компактно и лаконично.


Я уже сказал, что обошел проблему:

Даю подсказку, дизайнер не позволяет уменьшить высоту строки (шифт +
стрелка вверх при выделенном объекте), чтобы убрать НАЕЗД строк друг на
друга, но когда заходишь в проперти там есть поле высота. Уменьшаем ее и
строки уже не наезжают друг на друга по высоте.

Единственный трабл. Если потом в дизайнере по запарке попробывать еще
уменьшить размер по высоте - он снова ставит дефолтовую (которая больше чем
уже выставленная в пропертях).


Надеюсь, что обнаруженная тонкость кому-нить еще поможет ;)


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
08.02.2008, 14:50
    #35120147
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лавающие строки в отчете. Как сделать, чтобы при расширении
1. По умолчанию, размеры объектов отчета (форм и классов) "привязываются" к некой сетке. Эта сетка, опять же, по умолчанию, имеет шаг в 12 пикселей.

Если необходимо установить размер объекта вне привязки к границам сетки, то следует после выделения объекта нажать клавишу Ctrl и мышкой установить нужный размер. Ну, или напрямую указать размер в свойствах объекта.

Также можно "глобально" отменить привязку объектов к сетке. Для VFP9 это пункт меню Report - Properties - закладка Rule/Grid - снять птичку "Snap to grid". Если не ошибаюсь, для младших версий это был подпункт меню в пункте меню View.

2. Объекты в одной полосе отчета всегда позиционируются относительно границ этой полосы. Позиционирование относительно других объектов не делается.

Это значит, что если встает задача относительного позиционирования объектов, то их надо раскидать по разным полосам отчета. Создать специальные фиктивные полосы. В качестве признака группировки можно использовать просто числа: 1, 2, 3, 4
...
Рейтинг: 0 / 0
08.02.2008, 15:00
    #35120193
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лавающие строки в отчете. Как сделать, чтобы при расширении
Интересно. Получилось и позиционирование относительно друг-друга. Опция Float. Но это имеет смысл, только если нет справ/слева объектов фиксированной высоты.
...
Рейтинг: 0 / 0
09.02.2008, 10:25
    #35121608
Galyamov Rinat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лавающие строки в отчете. Как сделать, чтобы при расширении
> 1. По умолчанию, размеры объектов отчета (форм и классов)
> "привязываются" к некой сетке. Эта сетка, опять же, по умолчанию, имеет
> шаг в 12 пикселей.
>
> Если необходимо установить размер объекта вне привязки к границам
> сетки, то следует после выделения объекта нажать клавишу Ctrl и мышкой
> установить нужный размер. Ну, или напрямую указать размер в свойствах
> объекта.

До этого я уже доковырялся :)

> Также можно "глобально" отменить привязку объектов к сетке. Для VFP9
> это пункт меню Report - Properties - закладка Rule/Grid - снять птичку
> "Snap to grid". Если не ошибаюсь, для младших версий это был подпункт меню
> в пункте меню View.

Вот этому значения не придавал. Думал что прявязка к сетке идет левого
верхнего угла контрола.

> 2. Объекты в одной полосе отчета всегда позиционируются относительно
> границ этой полосы. Позиционирование относительно других объектов не
> делается.
Вот здесь не понял Вашу мысль

> Это значит, что если встает задача относительного позиционирования
> объектов, то их надо раскидать по разным полосам отчета. Создать
> специальные фиктивные полосы. В качестве признака группировки можно
> использовать просто числа: 1, 2, 3, 4
Здесь тоже непонял


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
09.02.2008, 10:28
    #35121611
Galyamov Rinat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лавающие строки в отчете. Как сделать, чтобы при расширении
> Интересно. Получилось и позиционирование относительно друг-друга.
> Опция Float. Но это имеет смысл, только если нет справ/слева объектов
> фиксированной высоты.

Да. именно к такому решению и пришел.

Что еще заметил, то что РАССТОЯНИЕ при переходе символьной строки на вторую,
третью и т.д.(lcStr1+chr(13)+lcstr2) ЗАВИСИТ ОТ НАЧАЛЬНОЙ ВЫСОТЫ КОНТРОЛА В
РЕПОРТЕ.

И это здорово!!!

Я этого не знал. Думаю как и многие.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
10.02.2008, 19:08
    #35122798
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лавающие строки в отчете. Как сделать, чтобы при расширении
Galyamov Rinat
> 2. Объекты в одной полосе отчета всегда позиционируются относительно
> границ этой полосы. Позиционирование относительно других объектов не
> делается.
Вот здесь не понял Вашу мысль

> Это значит, что если встает задача относительного позиционирования
> объектов, то их надо раскидать по разным полосам отчета. Создать
> специальные фиктивные полосы. В качестве признака группировки можно
> использовать просто числа: 1, 2, 3, 4
Здесь тоже непонял

Во вложении пример, поясняющий мысль на основе той же таблицы и отчета. Если все объекты из примера поместить в одну полосу отчета, до добиться того же эффекта будет крайне сложно.
...
Рейтинг: 0 / 0
11.02.2008, 06:27
    #35123105
Galyamov Rinat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лавающие строки в отчете. Как сделать, чтобы при расширении
> 2. Объекты в одной полосе отчета всегда позиционируются относительно
> границ этой полосы. Позиционирование относительно других объектов не
> делается.

Если я правильно понял, то "плавание строк" - это все таки позиционирование относительно ДРУГИХ объектов.

> Это значит, что если встает задача относительного позиционирования
> объектов, то их надо раскидать по разным полосам отчета. Создать
> специальные фиктивные полосы. В качестве признака группировки можно
> использовать просто числа: 1, 2, 3, 4

>Во вложении пример, поясняющий мысль на основе той же таблицы и отчета. Если все объекты из >примера поместить в одну полосу отчета, до добиться того же эффекта будет крайне >сложно.[/quot]
Мысль понял. Принял к сведению, но мне гораздо удобнее делать все в одной "полосе". Группировок РЕАЛЬНЫХ там и без ФИКТИВНЫХ до и больше :)


Прикладываю пример, как обмануть репорт в плане сдвига других объектов в одной полосе.
Поясню словами: Если объекты второй "строки" находятся под расширяющимся объектом первой "строки" - и у них стоит свойство "FLOAT" - то они все съедут вниз на высоту расширения перовой "строки".

Если объекты второй "строки" находятся ниже, но не непосредственно под расширяющимся объектом первой "строки" - то они НЕ съедут вниз, даже если у них и стоит свойство "FLOAT"

Обман заключается в том, чтобы положить (например путем расширения) объекты второй "строки" непосредственно под расширяющиеся объекты первой "строки"
...
Рейтинг: 0 / 0
11.02.2008, 06:35
    #35123107
Galyamov Rinat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лавающие строки в отчете. Как сделать, чтобы при расширении
Файл не вложился
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / лавающие строки в отчете. Как сделать, чтобы при расширении / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]