Короче говоря,
Если выбрать колонку выбрать в DataColumn, то получается как я и отписывал.
Если колонку добавить в Expression то все хорошо отрабатывает.
Короче говоря,
Если выбрать колонку выбрать в DataColumn, то получается как я и отписывал.
Если колонку добавить в Expression то все хорошо отрабатывает.
Или я чего-то недопонимаю....
Дополнение:
Если выбрать колонку в DataColumn, то получается как я и отписывал, если штрих-код лежит на датабэнде .
Не могу понять, в чем дело. У всех баркодов в готовом отчете текст пустой. Хотя рядом лежит объект "Текст", подключенный к тому же полю, и там все в порядке. Попробуйте удалить источник данных, сохранить отчет, открыть отчет и добавить источник данных.
Не могу понять, в чем дело. У всех баркодов в готовом отчете текст пустой. Хотя рядом лежит объект "Текст", подключенный к тому же полю, и там все в порядке. Попробуйте удалить источник данных, сохранить отчет, открыть отчет и добавить источник данных.
Попробую конечно, но думаю это меня не спасет...
Вот и мне стало непонятно... Раньше же работало... Я уже грешным делом думал что данные где-то у меня пропадают...
Но если поставить поле в свойство Expression вместо DataColumn, то все отлично отрабатывает.
В другом отчете, объект "штрих-код" не лежит на DataBand и установлено свойство DataColumn - все отлично работает.
Так что я если чесно в полных непонятках.
У меня проблема при печати Ландшафта А3 с установками "Разбить на маленькие листы" на принтере А4...
Ситуация следующая:
1. Есть лист Ландшафт А3
2. При печати с разбивкой на маленькие листы получаем так же Ландшафт А4, хотя по логике вещей вылезти из принтера должны Портреты А4.
Так же хотелось бы обдумать такой вариант: добавить возможность указывать на какое максимально возможное количество листов надо разбивать большие листы, чтобы генератор отчетов мог сам масштабировать листы под итоговое количество.
Пример:
1. Есть большой лист (можно произвольного размера).
2. Мы говорим разбей на маленькие при печати, но количеством не больше 2-х.
3. Генератор масштабирует большой лист так, чтобы его надо было разбивать только на 2 листа (можно добавить возможность указывать расположение конечных листов - Портрет или Ландшафт).
Проверил печать на MS Office Document Image Writer, все в порядке - А4 в портрете. На реальном принтере проверю завтра.
Над новым режимом подумаю, но не обещаю. Мне уже видятся некоторые проблемы в реализации.
Да, если страница четко А3 то печатается все нормально, но если страница пользовательского размера Ландшафт, то печатает А4 так же ландшафт, а хотелось бы именно иметь возможность перед печатью масштабировать пользовательскую страницу до А3 Ландшафт и далее на печать.
Т.е. как в Excell - иметь возможность задать процент масштаба...
Алгоритм разреза такой, ничего не поделаешь. Если страница пользовательского формата, но соответствует А3 по размерам - все работает как положено. Если чуть больше или меньше (в пределах сантиметра) - будут проблемы с подбором подходящей ориентации.
Алгоритм разреза такой, ничего не поделаешь. Если страница пользовательского формата, но соответствует А3 по размерам - все работает как положено. Если чуть больше или меньше (в пределах сантиметра) - будут проблемы с подбором подходящей ориентации.
А если сделать возможным перед печатью масштабировать все целиком в процентном соотношении?
Версия 1.0.32 перестали открываться старые формы из потока, да и новые собственно говоря то-же. Что изменилось? Посмотрел что в базе - перед заголовком отчёта появился знак вопроса ?<? xml Еще одно дополнение - данная ситуация происходит при выполнении SaveToString
Гм. Ничего не изменилось... Запись в поток идет в формате utf8, первый символ - это сигнатура формата, ее можно наблюдать в каждом файле отчета.
Делаю в демке
string s = FReport.SaveToString();
FReport.LoadFromString(s);
и все работает. Как воспроизвести ошибку?
Гм. Ничего не изменилось... Запись в поток идет в формате utf8, первый символ - это сигнатура формата, ее можно наблюдать в каждом файле отчета.
Делаю в демке
string s = FReport.SaveToString();
FReport.LoadFromString(s);
и все работает. Как воспроизвести ошибку?
Это наблюдается на всех отчетах, или только на некоторых?
Кажется, понял в чем дело - я менял процедуру записи/чтения xml. В частности, добавил некоторые проверки при чтении. Очевидно, что они срабатывают на символе вопроса и файл не читается. Вопрос в другом - откуда там вопрос?
С вопросом, кажется, тоже понял. Вы ведь храните отчет в базе? Так вот, скорее всего, сигнатура портится при чтении-записи в базу. Я добавлю дополнительные проверки на этот случай.
Это наблюдается на всех отчетах, или только на некоторых?
Кажется, понял в чем дело - я менял процедуру записи/чтения xml. В частности, добавил некоторые проверки при чтении. Очевидно, что они срабатывают на символе вопроса и файл не читается. Вопрос в другом - откуда там вопрос?
С вопросом, кажется, тоже понял. Вы ведь храните отчет в базе? Так вот, скорее всего, сигнатура портится при чтении-записи в базу. Я добавлю дополнительные проверки на этот случай.
Возможно - наверно надо бы без сигнатуры сохранять в строку.
Вот еще одна непонятка.
Почему-то после вызова метода ShowPrepared() PreparedPages.Count становится равным нулю.
Это нормально?
И еще, у меня у банда PageHeader установлено свойство не печатать на первой странице, однако если вызвать несколько раз метод Prepare то у второго и последующих отчетов этот банд печатается на первой странице отчета, что есть очень не хорошо.
P.S.
И еще хорошо бы в метод ShowPrepared(bool Modal) добавить еще один параметр IWin32Window owner, т.е. расширить его на ShowPrepared(bool Modal, IWin32Window owner) или что-то подобное.
А то окно появляется иногда на заднем плане.
1) При закрытии окна preview построенный отчет очищается; так и задумано.
2) Поясните, как это - вызвать Prepare несколько раз? С параметром append = true?
3) Сделаю.
1) При закрытии окна preview построенный отчет очищается; так и задумано.
2) Поясните, как это - вызвать Prepare несколько раз? С параметром append = true?
3) Сделаю.
Комментарии
Если выбрать колонку выбрать в DataColumn, то получается как я и отписывал.
Если колонку добавить в Expression то все хорошо отрабатывает.
Или я чего-то недопонимаю....
Дополнение:
Если выбрать колонку в DataColumn, то получается как я и отписывал, если штрих-код лежит на датабэнде .
У разработчика всегда все работает....
отправил. добавил рядом со штрих-кодом текстовое поле со значением штрих-кода.
Попробую конечно, но думаю это меня не спасет...
Вот и мне стало непонятно... Раньше же работало... Я уже грешным делом думал что данные где-то у меня пропадают...
Но если поставить поле в свойство Expression вместо DataColumn, то все отлично отрабатывает.
В другом отчете, объект "штрих-код" не лежит на DataBand и установлено свойство DataColumn - все отлично работает.
Так что я если чесно в полных непонятках.
У меня проблема при печати Ландшафта А3 с установками "Разбить на маленькие листы" на принтере А4...
Ситуация следующая:
1. Есть лист Ландшафт А3
2. При печати с разбивкой на маленькие листы получаем так же Ландшафт А4, хотя по логике вещей вылезти из принтера должны Портреты А4.
Так же хотелось бы обдумать такой вариант: добавить возможность указывать на какое максимально возможное количество листов надо разбивать большие листы, чтобы генератор отчетов мог сам масштабировать листы под итоговое количество.
Пример:
1. Есть большой лист (можно произвольного размера).
2. Мы говорим разбей на маленькие при печати, но количеством не больше 2-х.
3. Генератор масштабирует большой лист так, чтобы его надо было разбивать только на 2 листа (можно добавить возможность указывать расположение конечных листов - Портрет или Ландшафт).
Спасибо!
Проверил печать на MS Office Document Image Writer, все в порядке - А4 в портрете. На реальном принтере проверю завтра.
Над новым режимом подумаю, но не обещаю. Мне уже видятся некоторые проблемы в реализации.
Да, если страница четко А3 то печатается все нормально, но если страница пользовательского размера Ландшафт, то печатает А4 так же ландшафт, а хотелось бы именно иметь возможность перед печатью масштабировать пользовательскую страницу до А3 Ландшафт и далее на печать.
Т.е. как в Excell - иметь возможность задать процент масштаба...
А если сделать возможным перед печатью масштабировать все целиком в процентном соотношении?
Делаю в демке
string s = FReport.SaveToString();
FReport.LoadFromString(s);
и все работает. Как воспроизвести ошибку?
private void CustomSaveDialog_Handler(object sender, OpenSaveDialogEventArgs e)
{
//using (SaveFileDialog dialog = new SaveFileDialog())
//{
//dialog.Filter = "Файлы шаблонов документов files (*.frx)|*.frx";
// dialog.FileName = e.FileName;
e.Cancel = false; // dialog.ShowDialog() != DialogResult.OK;
// e.FileName = dialog.FileName;
// }
}
private void CustomSaveReport_Handler(object sender, OpenSaveReportEventArgs e)
{
string content = e.Report.SaveToString(); // <-- Под отладчиком отчетливо строка начинается c ?<?
try
{
if (!e.Report.Designer.IsPreviewPageDesigner)
{
ACS.Adapters.AwcsDataSetTableAdapters.DocTypeTemplateTableAdapter templateTableAdapter = new ACS.Adapters.AwcsDataSetTableAdapters.DocTypeTemplateTableAdapter();
templateTableAdapter.Connection = ACS.SqlHelper.Connection;
templateTableAdapter.Fill(awcsDataSet.DocTypeTemplate, id);
awcsDataSet.DocTypeTemplate[0].TypeDocument_Contents = content;
templateTableAdapter.Update(awcsDataSet.DocTypeTemplate);
// e.Report.Save(e.FileName);
}
}
catch (SqlException ex)
{
AppHelper.Error(ex.Message);
}
}
Кажется, понял в чем дело - я менял процедуру записи/чтения xml. В частности, добавил некоторые проверки при чтении. Очевидно, что они срабатывают на символе вопроса и файл не читается. Вопрос в другом - откуда там вопрос?
С вопросом, кажется, тоже понял. Вы ведь храните отчет в базе? Так вот, скорее всего, сигнатура портится при чтении-записи в базу. Я добавлю дополнительные проверки на этот случай.
Возможно - наверно надо бы без сигнатуры сохранять в строку.
Почему-то после вызова метода ShowPrepared() PreparedPages.Count становится равным нулю.
Это нормально?
И еще, у меня у банда PageHeader установлено свойство не печатать на первой странице, однако если вызвать несколько раз метод Prepare то у второго и последующих отчетов этот банд печатается на первой странице отчета, что есть очень не хорошо.
P.S.
И еще хорошо бы в метод ShowPrepared(bool Modal) добавить еще один параметр IWin32Window owner, т.е. расширить его на
ShowPrepared(bool Modal, IWin32Window owner) или что-то подобное.
А то окно появляется иногда на заднем плане.
2) Поясните, как это - вызвать Prepare несколько раз? С параметром append = true?
3) Сделаю.
1) Понятно.
2) Да, с параметром append = true.
Я это предложил по аналогии с методом ShowDialog класса Form, делайте как Вам удобнее.
Спасибо.
Но больше всего интересует многочисленный вызов метода Prepare(true) описанный мной ранее.