Вывод текста из переменной в несколько полей
Вывод текста из переменной в несколько полей
Здравствуйте.
Имеется проблема связанная с выводом значения переменной отчета в несколько полей. В отчете создается два текстовых поля.
В первом поле задается свойство "Выводить в" в качестве значения вводится имя второго поля. В случае когда размер шрифта первого поля превосходит высоту самого поля, то текст выводится только во второе поле. Хотелось бы узнать почему? Почему не вывести текст начиная с первого поля, но с обрезанием по высоте. Если в первом поле стоят значения свойств "Расти в высоту" и "Может расти" действия аналогичные, т.е. в первое поле текст не выводится. И скажите пожалуйста будет ли исправлено то, что описано в документации: что поле которое указывается в которое осуществляется вывод должно быть создано после первого поля в дизайнере.
:ops:
Имеется проблема связанная с выводом значения переменной отчета в несколько полей. В отчете создается два текстовых поля.
В первом поле задается свойство "Выводить в" в качестве значения вводится имя второго поля. В случае когда размер шрифта первого поля превосходит высоту самого поля, то текст выводится только во второе поле. Хотелось бы узнать почему? Почему не вывести текст начиная с первого поля, но с обрезанием по высоте. Если в первом поле стоят значения свойств "Расти в высоту" и "Может расти" действия аналогичные, т.е. в первое поле текст не выводится. И скажите пожалуйста будет ли исправлено то, что описано в документации: что поле которое указывается в которое осуществляется вывод должно быть создано после первого поля в дизайнере.
:ops:
Вывод текста из переменной в несколько полей
Здравствуйте,
Так и должно быть. В первом поле выводится только целое число строк, влезающих по вертикали. При крупном шрифте таких строк 0, поэтому весь текст и переносится во второе поле.vovik писал(а):Имеется проблема связанная с выводом значения переменной отчета в несколько полей. В отчете создается два текстовых поля.
В первом поле задается свойство "Выводить в" в качестве значения вводится имя второго поля. В случае когда размер шрифта первого поля превосходит высоту самого поля, то текст выводится только во второе поле. Хотелось бы узнать почему? Почему не вывести текст начиная с первого поля, но с обрезанием по высоте. Если в первом поле стоят значения свойств "Расти в высоту" и "Может расти" действия аналогичные, т.е. в первое поле текст не выводится.
Возможно, не совсем точно сформулировано. Данное поле должно находиться ниже в дереве отчета либо создано после первого поля.vovik писал(а):И скажите пожалуйста будет ли исправлено то, что описано в документации: что поле которое указывается в которое осуществляется вывод должно быть создано после первого поля в дизайнере.
Вывод текста из переменной в несколько полей
Скажите пожалуйста, а как насчет свойств "Расти в высоту"? Почему поле не увеличивается в соответсвии с содержимым?
Вывод текста из переменной в несколько полей
Здравствуйте,
Все правильно. При установке свойства "Выводить в" (Render To) свойства "Расти в высоту" и "Может расти" игнорируются, так как это взаимоисключающие свойства по логике их работы.
Спасибо.
Все правильно. При установке свойства "Выводить в" (Render To) свойства "Расти в высоту" и "Может расти" игнорируются, так как это взаимоисключающие свойства по логике их работы.
Спасибо.
Вывод текста из переменной в несколько полей
Добрый день.
Получается следующая ситуация (если рассматривать вывод значения переменной в несколько полей):
1. При выводе в два поля значение переменной, если первое поле по высоте меньше чем текст выводимый указанным шрифтом то вывод текста осуществляется только во второе поле.
2. В случае когда значение переменной выводится в три поля, и в случае когда все поля меньше по высоте указанного шрифта, значение не выводится ни в одно поле.
Я понимаю, что это у вас так работает репорт, но можно это изменить, потому как это нелогично? Возможно ли в обоих ситуациях выводить текст и в первое поле и в последующие, но с обрезанием текста по высоте, чтоб оператору работающему с репортом было видно его ошибку? Это поведение репорта было бы логичнее, чем его поведение сейчас. Я уж не говорю про то чтобы была возможность совместить свойства "Расти в высоту" и "Выводить в", которые не являются взаимоисключающими по логике своей работы, но которые взаимоисключающие у вас.
Получается следующая ситуация (если рассматривать вывод значения переменной в несколько полей):
1. При выводе в два поля значение переменной, если первое поле по высоте меньше чем текст выводимый указанным шрифтом то вывод текста осуществляется только во второе поле.
2. В случае когда значение переменной выводится в три поля, и в случае когда все поля меньше по высоте указанного шрифта, значение не выводится ни в одно поле.
Я понимаю, что это у вас так работает репорт, но можно это изменить, потому как это нелогично? Возможно ли в обоих ситуациях выводить текст и в первое поле и в последующие, но с обрезанием текста по высоте, чтоб оператору работающему с репортом было видно его ошибку? Это поведение репорта было бы логичнее, чем его поведение сейчас. Я уж не говорю про то чтобы была возможность совместить свойства "Расти в высоту" и "Выводить в", которые не являются взаимоисключающими по логике своей работы, но которые взаимоисключающие у вас.
Вывод текста из переменной в несколько полей
Здравствуйте.
Также неясно: зачем делать размер шрифта такой большой, что не помещается даже одна строка текста?
Единственный вариант решения этой проблемы - отображать только целое количество строк.
Спасибо.
В документации четко указано: "в первом компоненте будет выведено только целое количество полностью видимых строк".vovik писал(а):Получается следующая ситуация (если рассматривать вывод значения переменной в несколько полей):
1. При выводе в два поля значение переменной, если первое поле по высоте меньше чем текст выводимый указанным шрифтом то вывод текста осуществляется только во второе поле.
Также неясно: зачем делать размер шрифта такой большой, что не помещается даже одна строка текста?
Неверно. Если у последнего поля не установлено RenderTo, то в него выводится весь оставшийся текст.vovik писал(а):2. В случае когда значение переменной выводится в три поля, и в случае когда все поля меньше по высоте указанного шрифта, значение не выводится ни в одно поле.
При вашем варианте существует одна серьёзная проблема: если сделать высоту текстбокса например 1 полная строка + 1 пиксель, то первая строка текста будет выведена полностью, а от второй строки будет видна только одна полоска высотой в 1 пиксель (в подавляющем большинстве случаев пустая). Третья строка будет выведена уже в следующий текстбокс. Оператор даже не заметит сразу, что вторая строка потерялась. И такие ситуации встречаются на каждом шагу.vovik писал(а):Я понимаю, что это у вас так работает репорт, но можно это изменить, потому как это нелогично? Возможно ли в обоих ситуациях выводить текст и в первое поле и в последующие, но с обрезанием текста по высоте, чтоб оператору работающему с репортом было видно его ошибку? Это поведение репорта было бы логичнее, чем его поведение сейчас.
Единственный вариант решения этой проблемы - отображать только целое количество строк.
Как должен себя вести большой текст, если установлены оба свойства "Расти в высоту" и "Выводить в" ?vovik писал(а):Я уж не говорю про то чтобы была возможность совместить свойства "Расти в высоту" и "Выводить в", которые не являются взаимоисключающими по логике своей работы, но которые взаимоисключающие у вас.
Спасибо.
Вывод текста из переменной в несколько полей
Добрый день.
как я выше и писал, то необходимо выводить в первое поле только одну строку, не более, если конечно выводимое поле не расширено до полных двух-N-строк.
Если такая доработка репорта невозможна, напишите пожалуйста.
Не надо делать размер шрифта настолько большим чтоб ничего не помещалось, достаточно чтобы высота шрифта была на 1 пиксель больше высоты поля в которое оно выводится.Ivan писал(а):Здравствуйте.
В документации четко указано: "в первом компоненте будет выведено только целое количество полностью видимых строк".vovik писал(а):Получается следующая ситуация (если рассматривать вывод значения переменной в несколько полей):
1. При выводе в два поля значение переменной, если первое поле по высоте меньше чем текст выводимый указанным шрифтом то вывод текста осуществляется только во второе поле.
Также неясно: зачем делать размер шрифта такой большой, что не помещается даже одна строка текста?
У последнего поля не установлено свойство RenderTo, можете попробовать, поведение именно такое как я описал.Ivan писал(а):Неверно. Если у последнего поля не установлено RenderTo, то в него выводится весь оставшийся текст.vovik писал(а):2. В случае когда значение переменной выводится в три поля, и в случае когда все поля меньше по высоте указанного шрифта, значение не выводится ни в одно поле.
Как вы указали вариант выводить целое число строк, но не меньше одной. Поле же есть на экране и в большинстве случаев необходимо чтобы текст выводился сначало в первое поле и только затем во второе.Ivan писал(а):При вашем варианте существует одна серьёзная проблема: если сделать высоту текстбокса например 1 полная строка + 1 пиксель, то первая строка текста будет выведена полностью, а от второй строки будет видна только одна полоска высотой в 1 пиксель (в подавляющем большинстве случаев пустая). Третья строка будет выведена уже в следующий текстбокс. Оператор даже не заметит сразу, что вторая строка потерялась. И такие ситуации встречаются на каждом шагу.vovik писал(а):Я понимаю, что это у вас так работает репорт, но можно это изменить, потому как это нелогично? Возможно ли в обоих ситуациях выводить текст и в первое поле и в последующие, но с обрезанием текста по высоте, чтоб оператору работающему с репортом было видно его ошибку? Это поведение репорта было бы логичнее, чем его поведение сейчас.
Единственный вариант решения этой проблемы - отображать только целое количество строк.
В случае если установлено свойство "Расти в высоту" и "Выводить в" необходимо: если в выводимое поле текст по высоте не помещается расширять поле по высоте, но только для одной строки. Если по высоте размер шрифта не превосходит поля, то ничего не делать. Если у поля стоит свойство "Выводить в",Ivan писал(а):Как должен себя вести большой текст, если установлены оба свойства "Расти в высоту" и "Выводить в" ?vovik писал(а):Я уж не говорю про то чтобы была возможность совместить свойства "Расти в высоту" и "Выводить в", которые не являются взаимоисключающими по логике своей работы, но которые взаимоисключающие у вас.
как я выше и писал, то необходимо выводить в первое поле только одну строку, не более, если конечно выводимое поле не расширено до полных двух-N-строк.
Если такая доработка репорта невозможна, напишите пожалуйста.
Вывод текста из переменной в несколько полей
Здравствуйте.
Также обращаем ваше внимание, что это соответствует политике Microsoft.
Стандартные средства .Net для вывода текста могут вывести текст не полностью или вообще не вывести, если область для вывода текста недостаточна по высоте.
Довольно часто встречаются ситуации, что в строке, обрезанной по высоте, не выводится несколько слов. Это особенность Net, которую исправить невозможно.
Поэтому мы приняли решение в случае RenderTo работать только с целыми строками. Это поведение описано в документации. Решение принято уже давно, и никакие изменения мы вносить не планируем.
Спасибо.
Зачем делать такую высоту шрифта, чтобы строка текста не помещалась целиком?vovik писал(а):Не надо делать размер шрифта настолько большим чтоб ничего не помещалось, достаточно чтобы высота шрифта была на 1 пиксель больше высоты поля в которое оно выводится.
Проверили несколько раз. Весь оставшийся текст выводится в третье поле. Если это не так - вышлите пожалуйста пример отчета, который воспроизводит проблему.vovik писал(а):В случае когда значение переменной выводится в три поля, и в случае когда все поля меньше по высоте указанного шрифта, значение не выводится ни в одно поле.
У последнего поля не установлено свойство RenderTo, можете попробовать, поведение именно такое как я описал.
Естественный вариант решения проблемы - установить адекватный размер шрифта. Это сразу решает все проблемы.vovik писал(а):Как вы указали вариант выводить целое число строк, но не меньше одной. Поле же есть на экране и в большинстве случаев необходимо чтобы текст выводился сначало в первое поле и только затем во второе.
Также обращаем ваше внимание, что это соответствует политике Microsoft.
Стандартные средства .Net для вывода текста могут вывести текст не полностью или вообще не вывести, если область для вывода текста недостаточна по высоте.
Довольно часто встречаются ситуации, что в строке, обрезанной по высоте, не выводится несколько слов. Это особенность Net, которую исправить невозможно.
Поэтому мы приняли решение в случае RenderTo работать только с целыми строками. Это поведение описано в документации. Решение принято уже давно, и никакие изменения мы вносить не планируем.
Спасибо.
Вывод текста из переменной в несколько полей
файл репорта в котором текст не выводится
http://www.asmail.spb.ru/files/ggg.mrt
http://www.asmail.spb.ru/files/ggg.mrt
Вывод текста из переменной в несколько полей
Здравствуйте.
Проблема обнаружена и исправлена.
Патч будет включен в следующий предрелизный билд.
Спасибо.
Проблема обнаружена и исправлена.
Патч будет включен в следующий предрелизный билд.
Спасибо.