WWW.DISS.SELUK.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА
(Авторефераты, диссертации, методички, учебные программы, монографии)

 

Pages:     | 1 |   ...   | 8 | 9 || 11 | 12 |   ...   | 17 |

«Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Содержание 1 Руководство SAP Crystal Reports.NET SDK Developer Guide............................ 4 1.1 Начало ...»

-- [ Страница 10 ] --

6. Наконец, задайте в качестве свойства ExportDestinationOptions экземпляра ExportOptions экземпляр DiskFileDestinationOptions, сконфигурированный на предыдущем этапе.

myExportOptions.ExportDestinationOptions = myDiskFileDestinationOptions exportOptions.ExportDestinationOptions = diskFileDestinationOptions;

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 1.5.2.7.3.4 Создание вспомогательного метода ConfigureExportToXls Процедура 1. Откройте веб-форму или форму Windows.

2. В меню Вид выберите команду Код.

3. В нижней части класса создайте конфиденциальный вспомогательный метод с именем ConfigureExportToXls() без возвращаемого значения.

Public Sub ConfigureExportToXls() ConfigureExportToXls() 4. В методе задайте в качестве свойства ExportFormatType экземпляра ExportOptions выбор Excel из перечисления ExportFormatType.

myExportOptions.ExportFormatType = ExportFormatType.Excel exportOptions.ExportFormatType = ExportFormatType.Excel;

5. Задайте в качестве свойства DiskFileName экземпляра DiskFileDestinationOptions строку exportPath, а затем добавьте к ней имя документа с расширением файла.xls.

myDiskFileDestinationOptions.DiskFileName = exportPath & "Excel.xls" diskFileDestinationOptions.DiskFileName = exportPath + "Excel.xls";

6. Наконец, задайте в качестве свойства ExportDestinationOptions экземпляра ExportOptions экземпляр DiskFileDestinationOptions, сконфигурированный на предыдущем этапе.

myExportOptions.ExportDestinationOptions = myDiskFileDestinationOptions exportOptions.ExportDestinationOptions = diskFileDestinationOptions;

© 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 1.5.2.7.3.5 Создание вспомогательного метода ConfigureExportToPdf Процедура 1. Откройте веб-форму или форму Windows.

2. В меню Вид выберите команду Код.

3. В нижней части класса создайте конфиденциальный вспомогательный метод с именем ConfigureExportToPdf() без возвращаемого значения.

Public Sub ConfigureExportToPdf() ConfigureExportToPdf() 4. В методе задайте в качестве свойства ExportFormatType экземпляра ExportOptions выбор PortableDocFormat из перечисления ExportFormatType.

myExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat exportOptions.ExportFormatType = ExportFormatType.PortableDocFormat;

5. Задайте в качестве свойства DiskFileName экземпляра DiskFileDestinationOptions строку exportPath, а затем добавьте к ней имя документа с расширением файла.pdf.

myDiskFileDestinationOptions.DiskFileName = exportPath & "PortableDoc.pdf" diskFileDestinationOptions.DiskFileName = exportPath + "PortableDoc.pdf";

6. Наконец, задайте в качестве свойства ExportDestinationOptions экземпляра ExportOptions экземпляр DiskFileDestinationOptions, сконфигурированный на предыдущем этапе.

myExportOptions.ExportDestinationOptions = myDiskFileDestinationOptions exportOptions.ExportDestinationOptions = diskFileDestinationOptions;

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 1.5.2.7.3.6 Создание вспомогательного метода ConfigureExportToHtml Процедура 1. Откройте веб-форму или форму Windows.

2. В меню Вид выберите команду Код.

3. В нижней части класса создайте конфиденциальный вспомогательный метод с именем ConfigureExportToHtml32() без возвращаемого значения.

Public Sub ConfigureExportToHtml32() ConfigureExportToHtml32() 4. В методе задайте в качестве свойства ExportFormatType экземпляра ExportOptions выбор HTML32 из перечисления ExportFormatType.

myExportOptions.ExportFormatType = ExportFormatType.HTML exportOptions.ExportFormatType = ExportFormatType.HTML32;

5. Объявите и создайте класс HTMLFormatOptions с именем переменной "html32FormatOptions".

Dim html32FormatOptions As HTMLFormatOptions = New HTMLFormatOptions() HTMLFormatOptions html32FormatOptions = new HTMLFormatOptions();

6. Задайте в качестве свойства HTMLBaseFolderName экземпляра html32FormatOptions строку exportPath и имя "Html32Folder".

html32FormatOptions.HTMLBaseFolderName = exportPath & "Html32Folder" html32FormatOptions.HTMLBaseFolderName = exportPath + "Html32Folder";

';

7. Задайте в качестве свойства HTMLFileName экземпляра html32FormatOptions имя "html32.html".

html32FormatOptions.HTMLFileName = "html32.html" © 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide html32FormatOptions.HTMLFileName = "html32.html";

8. Задайте в качестве свойства HTMLEnableSeparatedPage экземпляра html32FormatOptions значение "False".

html32FormatOptions.HTMLEnableSeparatedPages = False html32FormatOptions.HTMLEnableSeparatedPages = false;

9. Задайте в качестве свойства HTMLHasPageNavigator экземпляра html32FormatOptions значение "False".

html32FormatOptions.HTMLHasPageNavigator = False html32FormatOptions.HTMLHasPageNavigator = false;

10. Наконец, присвойте экземпляр html32FormatOptions свойству FormatOptions экземпляра ExportOptions.

myExportOptions.ExportFormatOptions = html32FormatOptions exportOptions.ExportFormatOptions = html32FormatOptions;

1.5.2.7.3.7 Создание вспомогательного метода ConfigureExportToHtml Процедура 1. Откройте веб-форму или форму Windows.

2. В меню Вид выберите команду Код.

3. В нижней части класса создайте конфиденциальный вспомогательный метод с именем ConfigureExportToHtml40() без возвращаемого значения.

Public Sub ConfigureExportToHtml40() ConfigureExportToHtml40() Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 4. В методе задайте в качестве свойства ExportFormatType экземпляра ExportOptions выбор HTML40 из перечисления ExportFormatType.

myExportOptions.ExportFormatType = ExportFormatType.HTML exportOptions.ExportFormatType = ExportFormatType.HTML40;

5. Объявите и создайте класс HTMLFormatOptions с именем переменной "html40FormatOptions".

Dim html40FormatOptions As HTMLFormatOptions = New HTMLFormatOptions() HTMLFormatOptions html40FormatOptions = new HTMLFormatOptions();

6. Задайте в качестве свойства HTMLBaseFolderName экземпляра html40FormatOptions строку exportPath и имя "Html40Folder".

html40FormatOptions.HTMLBaseFolderName = exportPath & "Html40Folder" html40FormatOptions.HTMLBaseFolderName = exportPath + "Html40Folder";

7. Задайте в качестве свойства HTMLFileName экземпляра html40FormatOptions имя "html40.html".

html40FormatOptions.HTMLFileName = "html40.html" html40FormatOptions.HTMLFileName = "html40.html";

8. Задайте в качестве свойства HTMLEnableSeparatedPage экземпляра html40FormatOptions значение html40FormatOptions.HTMLEnableSeparatedPages = True html40FormatOptions.HTMLEnableSeparatedPages = true;

9. Задайте в качестве свойства HTMLHasPageNavigator экземпляра html40FormatOptions значение "True".

html40FormatOptions.HTMLHasPageNavigator = True html40FormatOptions.HTMLHasPageNavigator = true;

10. Задайте в качестве свойства FirstPageNumber экземпляра html40FormatOptions значение 1.

html40FormatOptions.FirstPageNumber = © 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide html40FormatOptions.FirstPageNumber = 1;

11. Задайте в качестве свойства LastPageNumber экземпляра html40FormatOptions значение 3.

html40FormatOptions.LastPageNumber = html40FormatOptions.LastPageNumber = 3;

12. Наконец, присвойте экземпляр html40FormatOptions свойству FormatOptions экземпляра ExportOptions.

myExportOptions.FormatOptions = html40FormatOptions exportOptions.FormatOptions = html40FormatOptions;

Результаты Вы создали конфиденциальные вспомогательные методы, настраивающие разные форматы экспорта.

На предыдущем уроке был создан оператор case в методе ExportSelection() в разных вариантах.

Каждый оператор case связан с выборкой из перечисления ExportFormatType. Теперь каждый из методов конфигурации можно вызывать из соответствующего оператора case, также, как и набор значений логической переменной selectedNoFormat.

Процедура 1. Укажите метод ExportSelection(), который был создан на предыдущем уроке.

2. В операторе сase Select Case [Visual Basic] или switch [C#] – вариант для ExportFormatType.NoFormat – задайте для логической переменной selectedNoFormat значение True.

selectedNoFormat = True selectedNoFormat = true;

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 3. В операторе сase Select Case [Visual Basic] или switch [C#] – вариант для ExportFormatType.CrystalReport – вызовите метод ConfigureExportToRpt().

selectedNoFormat = False ConfigureExportToRpt() selectedNoFormat = false;

ConfigureExportToRpt();

4. В операторе case Select Case [Visual Basic] или switch [C#] – вариант для ExportFormatType.RichText – вызовите метод ConfigureExportToRtf().

selectedNoFormat = False ConfigureExportToRtf() selectedNoFormat = false;

ConfigureExportToRtf();

5. В операторе case Select Case [Visual Basic] или switch [C#] – вариант для ExportFormatType.WordForWindows – вызовите метод ConfigureExportToDoc().

selectedNoFormat = False ConfigureExportToDoc() selectedNoFormat = false;

ConfigureExportToDoc();

6. В операторе case Select Case [Visual Basic] или switch [C#] – вариант для ExportFormatType.Excel – вызовите метод ConfigureExportToXls().

selectedNoFormat = False ConfigureExportToXls() selectedNoFormat = false;

ConfigureExportToXls();

7. В операторе case Select Case [Visual Basic] или switch [C#] – вариант для ExportFormatType.PortableDocFormat – вызовите метод ConfigureExportToPdf().

selectedNoFormat = False ConfigureExportToPdf() selectedNoFormat = false;

ConfigureExportToPdf();

© 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 8. В операторе case Select Case [Visual Basic] или switch [C#] – вариант для ExportFormatType.HTML32 – вызовите метод ConfigureExportToHtml32().

selectedNoFormat = False ConfigureExportToHtml32() selectedNoFormat = false;

ConfigureExportToHtml32();

9. В операторе caseSelect Case [Visual Basic] или switch [C#] – вариант для ExportFormatType.HTML40 – вызовите метод ConfigureExportToHtml40().

selectedNoFormat = False ConfigureExportToHtml40() selectedNoFormat = false;

ConfigureExportToHtml40();

10. В операторе сase Select Case [Visual Basic] или switch [C#] – вариант для Переключение Else [Visual Basic] или по умолчанию: [C#] задайте для логической переменной selectedNoFormat значение True.

selectedNoFormat = True selectedNoFormat = true;

Результаты При создании проекта в Visual Studio 2005 или более поздней версии необходимо сначала выполнить процедуры, описанные в разделе Создание методов для новых форматов экспорта [стр. 459], а затем переходить к разделу Вызов методов для осуществления экспорта [стр. 457].

1.5.2.7.5 Вызов методов для осуществления экспорта Теперь можно создать метод обработки события click для элемента управления Button с именем exportByType, а затем вызвать методы для осуществления экспорта из этого метода обработки событий.

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 1.5.2.7.5.1 Создание метода обработки события exportByType_Click Процедура 1. Откройте веб-форму или форму Windows.

2. В меню Вид выберите команду Конструктор.

3. Дважды щелкните элемент управления Button с именем exportByType.

Метод обработки события exportByType_Click() создается и отображается в представлении "Код".

4. В методе обработки события exportByType_Click() введите вызовы трех методов обработки событий, созданных ранее для выполнения экспорта.

ExportSetup() ExportSelection() ExportCompletion() ExportSetup();

ExportSelection();

ExportCompletion();

Результаты Теперь можно построить и запустить проект, а затем экспортировать отчет в разных форматах.

Процедура 1. В меню Построение выберите команду Построение решения.

2. В случае возникновения ошибок сборки сразу исправьте их.

3. В меню Отладка выберите команду Начать.

Приложение Windows или веб-приложение компилирует и отображает отчет "Иерархическое группирование". Элемент управления DropDownList отображает разные форматы экспорта, и выводится кнопка Экспортировать как выбранный тип для осуществления экспорта.

4. Выберите один из форматов экспорта из элемента управления DropDownList, а затем нажмите кнопку Экспортировать как выбранный тип.

Рядом с кнопкой отображается сообщение о результатах операции экспорта. Если операция не выполнена, отображается сообщение об ошибке.

5. Попробуйте выполнить экспорт в нескольких разных форматах.

© 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 6. Вернитесь в среду Visual Studio и нажмите кнопку Остановить, чтобы выйти из режима отладки.

7. Проверьте в каталоге "Экспортированные" на веб-сервере или компьютере с ОС Windows наличие всех экспортированных файлов.

1.5.2.7.6 Приложение: Возможности модернизации кода экспорта Если установлен Visual Studio 2005 или более поздней версии либо SAP Crystal Reports, у вас есть возможность доступа к расширенному интерфейсу API для экспорта отчета Crystal в разные форматы.

В модернизированном интерфейсе API SAP Crystal Reports перечисление ExportFormatTypes имеет два новых формата экспорта: записи Microsoft Excel (файл.xls, содержащий только данные) и текстовые файлы.

Кроме того, теперь в классе ReportDocument имеются следующие модернизированные методы экспорта:

ExportToDisk(CrystalDecisions.Shared.ExportFormatType formatType, string fileName):

экспортирует отчет на локальный диск веб-сервера или компьютера с Windows.

ExportToHttpResponse(CrystalDecisions.Shared.ExportFormatType formatType, System.Web.HttpResponse response, bool asAttachment, string attachmentName):

экспортирует отчет в окно браузера в заданном типе формата или в виде вложения.

ExportToHttpResponse (CrystalDecisions.Shared.ExportOptions options, System.Web.HttpResponse response, bool asAttachment, string attachmentName):

экспортирует отчет в окно браузера в заданном типе формата или в виде вложения.

ExportToStream(CrystalDecisions.Shared.ExportFormatType formatType): экспортирует данные отчета в заданном типе формата во входной/выходной поток.

экспорта В этом разделе описана процедура изменения проекта (созданного ранее согласно инструкциям данного пособия) с включением в него новых форматов экспорта.

Прежде чем изменить код и включить в него новые форматы экспорта, выполните все процедуры, описанные в Учебное пособие: экспорт в различные форматы [стр. 436].

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 1.5.2.7.6.1.1 Изменение кода для включения в него новых форматов экспорта Процедура 1. Откройте завершенный проект, как описано в данном пособии.

2. Откройте веб-форму или форму Windows.

3. В меню Вид выберите команду Код.

4. В операторе "Select Case" [Visual Basic] или "switch" [C#] метода ExportSelection() добавьте оператор case для формата ExcelRecord.

Case ExportFormatType.ExcelRecord case ExportFormatType.ExcelRecord:

Создайте конфиденциальные вспомогательные методы, настраивающие разные форматы экспорта.

Сначала следует создать метод ConfigureExportToXlsRec() для задания параметров экспорта ExcelRecord.

5. В нижней части класса создайте конфиденциальный вспомогательный метод с именем ConfigureExportToXlsRec() без возвращаемого значения.

Public Sub ConfigureExportToXlsRec() private void ConfigureExportToXlsRec() 6. В методе задайте в качестве свойства ExportFormatType экземпляра ExportOptions выбор перечисления ExportFormatType ExcelRecord.

myExportOptions.ExportFormatType = ExportFormatType.ExcelRecord exportOptions.ExportFormatType = ExportFormatType.ExcelRecord;

7. Задайте в качестве свойства DiskFileName экземпляра DiskFileDestinationOptions строку exportPath, а затем добавьте к ней имя документа с расширением файла.xls.

myDiskFileDestinationOptions.DiskFileName = exportPath & "ExcelRecord.xls" diskFileDestinationOptions.DiskFileName = exportPath + "ExcelRecord.xls";

© 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 8. Задайте в качестве свойства ExportDestinationOptions экземпляра ExportOptions экземпляр DiskFileDestinationOptions, сконфигурированный на предыдущем этапе.

myExportOptions.ExportDestinationOptions = myDiskFileDestinationOptions exportOptions.ExportDestinationOptions = diskFileDestinationOptions;

Результаты Два новых формата экспорта успешно добавлены в проект.

Для дальнейшего изучения модернизированного интерфейса API выберите один из следующих модернизированных методов экспорта:

Если требуется уменьшить код до минимума и не нужно настраивать ExportOptions, переходите к разделу Использование метода ExportToDisk() [стр. 461].

Для веб-сайта, если требуется экспортировать отчет в окно браузера или экспортировать его в виде вложения в окне браузера, переходите к разделу Использование метода ExportToHttpResponse() [стр.

Если требуется передать данные отчета во входной/выходной поток, переходите к разделу Использование метода ExportToStream() [стр. 477].

1.5.2.7.6.2 Использование метода ExportToDisk() Метод ExportToDisk() принимает тип ExportFormatType и параметр имени файла. Этот метод упрощает работу, если необходимо использовать методы конфигурирования экспорта, создание которых описано в разделе Создание методов, настраивающих различные форматы экспорта [стр. 446].

В данном разделе рассказывается о создании нового проекта, об изменении существующего проекта и о добавлении кода к проекту с целью применения метода ExportToDisk().

Предварительные условия:

Необходимо создать проект, следуя инструкциям в разделе Настройка проекта для метода ExportToDisk() [стр. 462].

Или же проект должен быть создан, исходя из инструкций в разделе Создание методов для новых форматов экспорта [стр. 459].

Затем следует изменить проект, как описано в разделе Подготовка проекта для метода ExportToDisk() [стр. 464].

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 1.5.2.7.6.2.1 Настройка проекта для метода ExportToDisk() Из этого раздела вы узнаете, как создать новый проект для метода ExportToDisk().

ExportToDisk() Процедура 1. Следуйте инструкциям в разделе Добавление элементов управления в форму Windows или веб-форму 2. Создайте методы ExportSetup() и ExportSelection() согласно описанию в разделе Создание методов, выполняющих экспорт [стр. 440].

3. В операторе "Select Case" [Visual Basic] или "switch" [C#] метода ExportSelection() добавьте оператор case для формата ExcelRecord.

Case ExportFormatType.ExcelRecord case ExportFormatType.ExcelRecord:

4. Создайте условный блок для проверки логической переменной selectedNoFormat.

If selectedNoFormat Then if (selectedNoFormat) 5. В блоке If задайте в качестве свойства Text элемента управления Label с именем message константу FORMAT_NOT_SUPPORTED класса MessageConstants.

message.Text = MessageConstants.FORMAT_NOT_SUPPORTED message.Text = MessageConstants.FORMAT_NOT_SUPPORTED;

© 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 6. В блоке Else задайте в качестве свойства Text элемента управления Label с именем message константу SUCCESS класса MessageConstants.

message.Text = MessageConstants.SUCCESS message.Text = MessageConstants.SUCCESS;

7. Создайте блок try/catch с классом Exception, который рассматривается как переменная с именем "ex".

Блок try содержит оператор "Select Case" [Visual Basic] или "switch" [C#] и условный блок.

Catch ex As Exception catch (Exception ex) 8. В блоке catch задайте в качестве свойства True элемента управления Label с именем message константу FAILURE класса MessagesConstants, а затем добавьте к ней свойство Message параметра Exception.

message.Text = MessageConstants.FAILURE & ex.Message message.Text = MessageConstants.FAILURE + ex.Message;

9. Вне блока try/catch задайте в качестве свойства Visible элемента управления Label с именем message значение True.

message.Visible = True message.Visible = true;

10. В меню Вид выберите команду Конструктор.

11. Дважды щелкните элемент управления Button с именем exportByType.

Создается метод обработки события exportByType_Click(), и происходит переход к представлению 12. В методе обработки события exportByType_Click() введите вызовы методов ExportSetup() и ExportSelection().

ExportSetup() ExportSelection() Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide ExportSelection();

1.5.2.7.6.2.2 Подготовка проекта для метода ExportToDisk() Из этого раздела вы узнаете, как изменить проект, созданный в результате выполнения процедуры в разделе Создание методов для новых форматов экспорта [стр. 459].

Теперь необходимо удалить определенные кодовые строки, которые не нужны для метода ExportToDisk().

1.5.2.7.6.2.2.1 Чтобы изменить проект для использования метода ExportToDisk() Процедура 1. Откройте проект.

2. Откройте веб-форму или форму Windows.

3. В меню Вид выберите команду Код.

4. В верхней части класса удалите следующие объявления классов:

Private myDiskFileDestinationOptions As DiskFileDestinationOptions Private myExportOptions As ExportOptions private DiskFileDestinationOptions diskFileDestinationOptions;

private ExportOptions exportOptions;

5. В методе ExportSetup() удалите все кодовые строки за условным блоком. (Последняя кодовая строка, вызывающая свойство ExportFormatOptions, имеется только в проекте Windows.) myDiskFileDestinationOptions = New DiskFileDestinationOptions() myExportOptions = hierarchicalGroupingReport.ExportOptions myExportOptions.ExportDestinationType = ExportDestinationType.DiskFile myExportOptions.ExportFormatOptions = Nothing diskFileDestinationOptions = new DiskFileDestinationOptions();

exportOptions = hierarchicalGroupingReport.ExportOptions;

exportOptions.ExportDestinationType = ExportDestinationType.DiskFile;

exportOptions.ExportFormatOptions = null;

6. Удалите следующие методы конфигурирования экспорта:

ConfigureExportToRpt() © 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide ConfigureExportToRtf() ConfigureExportToDoc() ConfigureExportToXls() ConfigureExportToPdf() ConfigureExportToHtml32() ConfigureExportToHtml40() ConfigureExportToXlsRec() ConfigureExportToTxt() 7. В операторах сase Select Case [Visual Basic] или switch [C#] (ExportSelection()) удалите вызовы методов конфигурирования экспорта.

8. В методе ExportCompletion() удалите вызов метода Export().

9. Скопируйте и вставьте весь код из метода ExportCompletion() в верхнюю часть метода ExportSelection().

10. Удалите метод ExportCompletion() и вызов ExportCompletion() из события нажатия кнопки exportByType.

11. В методе ExportSelection() вырежьте и вставьте операторы сase Select Case [Visual Basic] или switch [C#] над блоком If в блоке try.

После этого блок try/catch приобретает следующий вид:

Select Case exportTypesList.SelectedIndex message.Text = MessageConstants.FORMAT_NOT_SUPPORTED message.Text = MessageConstants.SUCCESS message.Text = MessageConstants.FAILURE & ex.Message switch ((ExportFormatType)exportTypesList.SelectedIndex) case ExportFormatType.NoFormat:

case ExportFormatType.CrystalReport:

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide case ExportFormatType.RichText:

case ExportFormatType.WordForWindows:

case ExportFormatType.PortableDocFormat:

case ExportFormatType.ExcelRecord:

message.Text = MessageConstants.FORMAT_NOT_SUPPORTED;

message.Text = MessageConstants.SUCCESS;

catch (Exception ex) message.Text = MessageConstants.FAILURE + ex.Message;

1.5.2.7.6.2.3 Изменение метода ExportSetup() В этом разделе описана процедура изменения метода ExportSetup() с целью создания папок для форматов экспорта HTML32 и HTML40.

1.5.2.7.6.2.3.1 Чтобы изменить метод ExportSetup() Процедура 1. В верхней части класса добавьте следующие объявления класса:

Private exportPathHTML32 As String Private exportPathHTML40 As String private string exportPathHTML32;

private string exportPathHTML40;

2. В методе ExportSetup() создайте строковые переменные exportPathHTML32 и exportPathHTML40 в корневом каталоге на жестком диске.

exportPathHTML32 = "C:\Exported\HTML32\" exportPathHTML40 = "C:\Exported\HTML40\" © 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide exportPathHTML32 = "C:\\Exported\\HTML32\\";

exportPathHTML40 = "C:\\Exported\\HTML40\\";

Если требуется поместить папки в веб-каталог веб-сервера, используйте в качестве префикса имени папки свойство Request.PhysicalApplicationPath.

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

If Not System.IO.Directory.Exists(exportPathHTML32) Then if (!System.IO.Directory.Exists(exportPathHTML32)) 4. В условном блоке вызовите метод CreateDirectory() System.IO.Directory для создания каталога в строке exportPathHTML32.

System.IO.Directory.CreateDirectory(exportPathHTML32) System.IO.Directory.CreateDirectory(exportPathHTML32);

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

If Not System.IO.Directory.Exists(exportPathHTML40) Then if (!System.IO.Directory.Exists(exportPathHTML40)) 6. В условном блоке вызовите метод CreateDirectory() System.IO.Directory для создания каталога в строке exportPathHTML40.

System.IO.Directory.CreateDirectory(exportPathHTML40) System.IO.Directory.CreateDirectory(exportPathHTML40);

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide В этом разделе описана процедура вызова метода ExportToDisk() в каждом операторе case метода ExportSelection().

1.5.2.7.6.2.4.1 Вызов метода ExportToDisk() в методе ExportSelection() Процедура 1. В методе ExportSelection() объявите cтроковую переменную и создайте переменную в пустой Dim myFileName As String = "" string fileName = "";

2. В операторе сase ExportFormatType.CrystalReport выполните следующее:

a) Задайте в качестве строки имени файла строку exportPath, а затем добавьте к ней имя документа с расширением файла.rpt.

myFileName = exportPath & "Report.rpt" fileName = exportPath + "Report.rpt";

b) Вызовите метод ExportToDisk() из экземпляра hierarchicalGroupingReport и передайте ExportFormatType.CrystalReport и строку имени файла.

hierarchicalGroupingReport.ExportToDisk(ExportFormatType.CrystalReport, hierarchicalGroupingReport.ExportToDisk(ExportFormatType.CrystalReport, 3. В операторе сase ExportFormatType.RichText выполните следующее:

a) Задайте в качестве строки имени файла строку exportPath, а затем добавьте к ней имя документа с расширением файла.rtf.

myFileName = exportPath & "RichTextFormat.rtf" fileName = exportPath + "RichTextFormat.rtf";

© 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide b) Вызовите метод ExportToDisk() из экземпляра hierarchicalGroupingReport и передайте ExportFormatType.RichText и строку имени файла.

hierarchicalGroupingReport.ExportToDisk(ExportFormatType.RichText, hierarchicalGroupingReport.ExportToDisk(ExportFormatType.RichText, 4. В операторе сase ExportFormatType.WordForWindows выполните следующее:

a) Задайте в качестве строки имени файла строку exportPath, а затем добавьте к ней имя документа с расширением файла.doc.

myFileName = exportPath & "Word.doc" fileName = exportPath + "Word.doc";

b) Вызовите метод ExportToDisk() из экземпляра hierarchicalGroupingReport и передайте ExportFormatType.WordForWindows и строку имени файла.

hierarchicalGroupingReport.ExportToDisk(ExportFormatType.WordForWindows, hierarchicalGroupingReport.ExportToDisk(ExportFormatType.WordForWindows, 5. В операторе сase ExportFormatType.Excel выполните следующее:

a) Задайте в качестве строки имени файла строку exportPath, а затем добавьте к ней имя документа с расширением файла.xls.

myFileName = exportPath & "Excel.xls" fileName = exportPath + "Excel.xls";

b) Вызовите метод ExportToDisk() из экземпляра hierarchicalGroupingReport и передайте ExportFormatType.Excel и строку имени файла.

hierarchicalGroupingReport.ExportToDisk(ExportFormatType.Excel, hierarchicalGroupingReport.ExportToDisk(ExportFormatType.Excel, 6. В операторе сase ExportFormatType.PortableDocFormat выполните следующее:

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide a) Задайте в качестве строки имени файла строку exportPath, а затем добавьте к ней имя документа с расширением файла.pdf.

myFileName = exportPath & "PortableDoc.pdf" fileName = exportPath + "PortableDoc.pdf";

b) Вызовите метод ExportToDisk() из экземпляра hierarchicalGroupingReport и передайте ExportFormatType.PortableDocFormat и строку имени файла.

hierarchicalGroupingReport.ExportToDisk(ExportFormatType.PortableDocFormat, hierarchicalGroupingReport.ExportToDisk(ExportFormatType.PortableDocFormat, 7. В операторе сase ExportFormatType.HTML32 выполните следующее:

a) Задайте в качестве строки имени файла строку exportPathHTML32, а затем добавьте к ней имя документа с расширением файла.html.

myFileName = exportPathHTML32 & "HTML32.html" fileName = exportPathHTML32 + "HTML32.html";

b) Вызовите метод ExportToDisk() из экземпляра hierarchicalGroupingReport и передайте ExportFormatType.HTML32 и строку имени файла.

hierarchicalGroupingReport.ExportToDisk(ExportFormatType.HTML32, myFileName) hierarchicalGroupingReport.ExportToDisk(ExportFormatType.HTML32, fileName);

8. В операторе сase ExportFormatType.HTML40 выполните следующее:

a) Задайте в качестве строки имени файла строку exportPathHTML40, а затем добавьте к ней имя документа с расширением файла.html.

myFileName = exportPathHTML40 & "HTML40.html" fileName = exportPathHTML40 + "HTML40.html";

b) Вызовите метод ExportToDisk() из экземпляра hierarchicalGroupingReport и передайте ExportFormatType.HTML40 и строку имени файла.

hierarchicalGroupingReport.ExportToDisk(ExportFormatType.HTML40, © 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide hierarchicalGroupingReport.ExportToDisk(ExportFormatType.HTML40, 9. В операторе сase ExportFormatType.ExcelRecord выполните следующее:

a) Задайте в качестве строки имени файла строку exportPath, а затем добавьте к ней имя документа myFileName = exportPath & "ExcelRecord.xls" fileName = exportPath + "ExcelRecord.xls";

b) Вызовите метод ExportToDisk() из экземпляра hierarchicalGroupingReport и передайте ExportFormatType.ExcelRecord и строку имени файла.

hierarchicalGroupingReport.ExportToDisk(ExportFormatType.ExcelRecord, hierarchicalGroupingReport.ExportToDisk(ExportFormatType.ExcelRecord, Результаты Теперь можно собрать и запустить проект с целью экспорта отчета Crystal в разные форматы.

Для получения сведений о других модернизированных методах API щелкните соответствующую ссылку, чтобы перейти к требуемому разделу:

Использование метода ExportToHttpResponse() [стр. 471] Использование метода ExportToStream() [стр. 477] 1.5.2.7.6.3 Использование метода ExportToHttpResponse() Метод ExportToHttpResponse() позволяет экспортировать отчет Crystal в окно браузера или экспортировать его в виде вложения. Этот метод применяется только для веб-сайтов.

К доступным переопределенным методам ExportToHttpResponse() относятся следующие:

ExportToHttpResponse(CrystalDecisions.Shared.ExportFormatType formatType, System.Web.HttpResponse response, bool asAttachment, string attachmentName) ExportToHttpResponse (CrystalDecisions.Shared.ExportOptions options, System.Web.HttpResponse response, bool asAttachment, string attachmentName) Метод ExportToHttpResponse() не поддерживает операции экспорта в HTTP Response для форматов HTML32 и HTML40. Поэтому при попытке экспорта в HTML32 или HTML40 отображается сообщение об ошибке.

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Если для логической переменной asAttachment задано значение True, отображается диалоговое окно "Загрузка файла". Если для логической переменной asAttachment задано значение False, экспортированный отчет открывается в окне браузера.

Если выбрать сохранение файла, то именем файла становится строковая переменная attachmentName.

Если переменная attachmentName не задана, то именем файла по умолчанию становится "Безымянный" с заданным расширением файла. Имя файла можно изменить в диалоговом окне "Сохранить как".

1.5.2.7.6.3.1 Использование метода ExportToHttpResponse() с перечислением ExportFormatType Чтобы использовать метод ExportToHttpResponse() с параметром ExportFormatType, необходимо выполнить процедуру Добавление элементов управления в форму Windows или веб-форму [стр. 438] для веб-сайта. Методы ExportSetup(), ExportSelection() и ExportCompletion() не требуются. Требуемый код помещается в метод обработки событий Сlick exportByType.

1.5.2.7.6.3.1.1 Использование метода ExportToHttpResponse() с параметром ExportFormatType Процедура 1. Откройте веб-форму.

2. В меню Вид выберите команду Конструктор.

3. Дважды щелкните элемент управления Button с именем exportByType.

Создается метод обработки события exportByType_Click(), и происходит переход к представлению 4. В верхней части класса добавьте объявление класса ExportOptions.

Private myExportOptions As ExportOptions private ExportOptions exportOptions;

5. В методе обработки событий exportByType_Click() создайте экземпляр ExportOptions.

myExportOptions = New ExportOptions() exportOptions = new ExportOptions();

6. Создайте блок try/catch с классом Exception, который рассматривается как переменная с именем "ex".

© 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Catch ex As Exception catch (Exception ex) 7. В блоке try создайте условный блок для проверки того, равен ли элемент, выбранный из списка exportTypesList, элементу ExportFormatType.NoFormat.

If (exportTypesList.SelectedIndex = ExportFormatType.NoFormat) Then if ((ExportFormatType)exportTypesList.SelectedIndex == ExportFormatType.NoFormat) 8. В блоке If задайте в качестве свойства Text элемента управления Label с именем message константу FORMAT_NOT_SUPPORTED класса MessageConstants.

message.Text = MessageConstants.FORMAT_NOT_SUPPORTED message.Text = MessageConstants.FORMAT_NOT_SUPPORTED;

9. В блоке Else присвойте элемент ExportFormatType, выбранный из списка exportTypesList, свойству ExportFormatType экземпляра ExportOptions.

myExportOptions.ExportFormatType = exportTypesList.SelectedIndex exportOptions.ExportFormatType = (ExportFormatType)exportTypesList.SelectedIndex;

10. В блоке Else вызовите метод ExportToHttpResponse() экземпляра hierarchicalGroupingReport.

Передайте экземпляр ExportOptions, объект ASP.NET Response, булево значение True и строку имени файла в качестве параметров метода.

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Строке имени файла вложения не требуется расширение, поскольку оно автоматически добавляется к экспортированному файлу.

hierarchicalGroupingReport.ExportToHttpResponse(myExportOptions, Response, True, "ExportedReport") hierarchicalGroupingReport.ExportToHttpResponse(exportOptions, Response, True, "ExportedReport");

11. В блоке catch задайте в качестве свойства True элемента управления Label с именем message константу FAILURE класса MessagesConstants, а затем добавьте к ней свойство Message параметра Exception.

message.Text = MessageConstants.FAILURE & ex.Message message.Text = MessageConstants.FAILURE + ex.Message;

12. Вне блока try/catch задайте в качестве свойства Visible элемента управления Label с именем message значение True.

message.Visible = True message.Visible = true;

Результаты Теперь можно собрать и запустить проект с целью экспорта отчета Crystal в разные форматы.

Для получения сведений об использовании метода ExportToHttpResponse() с классом ExportOptions см.

раздел Использование метода ExportToHttpResponse() с классом ExportOptions [стр. 474].

Если вам нужна информация об использовании других модернизированных методов API, щелкните соответствующую ссылку для перехода к этому разделу:

Использование метода ExportToDisk() [стр. 461] Использование метода ExportToStream() [стр. 477] 1.5.2.7.6.3.2 Использование метода ExportToHttpResponse() с классом ExportOptions Чтобы использовать метод ExportToHttpResponse() с параметром ExportOptions, необходимо выполнить процедуру Добавление элементов управления в форму Windows или веб-форму [стр. 438] для веб-сайта.

© 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Методы ExportSetup(), ExportSelection() и ExportCompletion() не требуются. Требуемый код помещается в метод обработки событий Сlick exportByType.

1.5.2.7.6.3.2.1 Использование метода ExportToHttpResponse() с параметром ExportOptions Процедура 1. Откройте веб-форму.

2. В меню Вид выберите команду Конструктор.

3. Дважды щелкните элемент управления Button с именем exportByType.

Создается метод обработки события exportByType_Click(), и происходит переход к представлению 4. В методе обработки событий exportByType_Click() создайте блок try/catch с классом Exception, который рассматривается как переменная с именем "ex".

Catch ex As Exception catch (Exception ex) 5. В блоке try создайте условный блок для проверки того, равен ли элемент, выбранный из списка exportTypesList, элементу ExportFormatType.NoFormat.

If (exportTypesList.SelectedIndex = ExportFormatType.NoFormat) Then if ((ExportFormatType)exportTypesList.SelectedIndex == ExportFormatType.NoFormat) 6. В блоке If задайте в качестве свойства Text элемента управления Label с именем message константу FORMAT_NOT_SUPPORTED класса MessageConstants.

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Условие If удовлетворяется, когда значение NoFormat выбрано из списка DropDownList.

message.Text = MessageConstants.FORMAT_NOT_SUPPORTED message.Text = MessageConstants.FORMAT_NOT_SUPPORTED;

7. В блоке Else вызовите метод ExportToHttpResponse() экземпляра hierarchicalGroupingReport.

Передайте выбранные элемент ExportFormatType, объект ASP.NET Response, булево значение True и строку имени файла в качестве параметров метода.

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

hierarchicalGroupingReport.ExportToHttpResponse(exportTypesList.SelectedIndex, Response, True, "ExportedReport") hierarchicalGroupingReport.ExportToHttpResponse((ExportFormatType)exportTypesList.SelectedIndex, Response, True, "ExportedReport");

8. В блоке catch задайте в качестве свойства True элемента управления Label с именем message константу FAILURE класса MessagesConstants, а затем добавьте к ней свойство Message параметра Exception.

message.Text = MessageConstants.FAILURE & ex.Message message.Text = MessageConstants.FAILURE + ex.Message;

9. Вне блока try/catch задайте в качестве свойства Visible элемента управления Label с именем message значение True.

message.Visible = True message.Visible = true;

Результаты Теперь можно собрать и запустить проект с целью экспорта отчета Crystal в разные форматы.

© 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Если вам нужна информация об использовании других модернизированных методов API, щелкните соответствующую ссылку для перехода к этому разделу:

Использование метода ExportToDisk() [стр. 461] Использование метода ExportToStream() [стр. 477] 1.5.2.7.6.4 Использование метода ExportToStream() В данном разделе приведены пояснения по применению метода ExportToStream() для экспорта отчета во входной/выходной поток в виде последовательности байтов. Затем вы узнаете, как записать последовательность байтов в файл заданного формата.

При экспорте отчета в форматы HTML изображения не экспортируются. Если требуется выполнить экспорт в форматы HTML, рекомендуется использовать методы ExportToHttpResponse().

Предварительные условия:

Необходимо создать проект, следуя инструкциям в разделе Настройка проекта для метода ExportToStream() [стр. 477].

Или же проект должен быть создан, исходя из инструкций в разделе Создание методов для новых форматов экспорта [стр. 459].

Затем следует изменить проект, как описано в разделе Подготовка проекта для метода ExportToStream() [стр. 479].

1.5.2.7.6.4.1 Настройка проекта для метода ExportToStream() Из этого раздела вы узнаете, как создать новый проект для метода ExportToStream().

1.5.2.7.6.4.1.1 Настройка нового проекта для метода ExportToStream() Процедура 1. Следуйте инструкциям в разделе Добавление элементов управления в форму Windows или веб-форму [стр. 438].

2. Создайте методы ExportSetup() и ExportSelection() согласно описанию в разделе Создание методов, выполняющих экспорт [стр. 440].

3. В операторе "Select Case" [Visual Basic] или "switch" [C#] метода ExportSelection() добавьте оператор case для формата ExcelRecord.

Case ExportFormatType.ExcelRecord Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide case ExportFormatType.ExcelRecord:

4. Создайте условный блок для проверки логической переменной selectedNoFormat.

If selectedNoFormat Then if (selectedNoFormat) 5. В блоке If задайте в качестве свойства Text элемента управления Label с именем message константу FORMAT_NOT_SUPPORTED класса MessageConstants.

message.Text = MessageConstants.FORMAT_NOT_SUPPORTED message.Text = MessageConstants.FORMAT_NOT_SUPPORTED;

6. В блоке Else задайте в качестве свойства Text элемента управления Label с именем message константу SUCCESS класса MessageConstants.

message.Text = MessageConstants.SUCCESS message.Text = MessageConstants.SUCCESS;

7. Создайте блок try/catch с классом Exception, который рассматривается как переменная с именем "ex".

Блок try содержит оператор "Select Case" [Visual Basic] или "switch" [C#] и условный блок.

Catch ex As Exception catch (Exception ex) © 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 8. В блоке catch задайте в качестве свойства True элемента управления Label с именем message константу FAILURE класса MessagesConstants, а затем добавьте к ней свойство Message параметра Exception.

message.Text = MessageConstants.FAILURE & ex.Message message.Text = MessageConstants.FAILURE + ex.Message;

9. Вне блока try/catch задайте в качестве свойства Visible элемента управления Label с именем message значение True.

message.Visible = True message.Visible = true;

10. В меню Вид выберите команду Конструктор.

11. Дважды щелкните элемент управления Button с именем exportByType.

Создается метод обработки события exportByType_Click(), и происходит переход к представлению 12. В методе обработки события exportByType_Click() введите вызовы методов ExportSetup() и ExportSelection().

ExportSetup() ExportSelection() ExportSetup();

ExportSelection();

1.5.2.7.6.4.2 Подготовка проекта для метода ExportToStream() Из этого раздела вы узнаете, как изменить проект, созданный в результате выполнения процедуры в разделе Создание методов для новых форматов экспорта [стр. 459].

Теперь необходимо удалить определенные кодовые строки, которые не нужны для метода ExportToStream().

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 1.5.2.7.6.4.2.1 Изменение проекта для использования метода ExportToStream() Процедура 1. Откройте проект.

2. Откройте веб-форму или форму Windows.

3. В меню Вид выберите команду Код.

4. В верхней части класса удалите следующие объявления классов:

Private myDiskFileDestinationOptions As DiskFileDestinationOptions Private myExportOptions As ExportOptions private DiskFileDestinationOptions diskFileDestinationOptions;

private ExportOptions exportOptions;

5. В методе ExportSetup() удалите все кодовые строки за условным блоком. (Последняя кодовая строка, вызывающая свойство ExportFormatOptions, имеется только в проекте Windows.) myDiskFileDestinationOptions = New DiskFileDestinationOptions() myExportOptions = hierarchicalGroupingReport.ExportOptions myExportOptions.ExportDestinationType = ExportDestinationType.DiskFile myExportOptions.ExportFormatOptions = Nothing diskFileDestinationOptions = new DiskFileDestinationOptions();

exportOptions = hierarchicalGroupingReport.ExportOptions;

exportOptions.ExportDestinationType = ExportDestinationType.DiskFile;

exportOptions.ExportFormatOptions = null;

6. Удалите следующие методы конфигурирования экспорта:

ConfigureExportToRpt() ConfigureExportToRtf() ConfigureExportToDoc() ConfigureExportToXls() ConfigureExportToPdf() ConfigureExportToHtml32() ConfigureExportToHtml40() ConfigureExportToXlsRec() 7. В операторах сase Select Case [Visual Basic] или switch [C#] (ExportSelection()) удалите вызовы методов конфигурирования экспорта.

8. В методе ExportCompletion() удалите вызов метода Export().

9. Скопируйте и вставьте весь код из метода ExportCompletion() в верхнюю часть метода ExportSelection().

10. Удалите метод ExportCompletion() и удалите вызов ExportCompletion() из события click кнопки exportByType.

© 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 11. В методе ExportSelection() вырежьте и вставьте операторы сase Select Case [Visual Basic] или switch [C#] над блоком If в блоке try.

После этого блок try/catch приобретает следующий вид:

Select Case exportTypesList.SelectedIndex message.Text = MessageConstants.FORMAT_NOT_SUPPORTED message.Text = MessageConstants.SUCCESS Catch ex As Exception message.Text = MessageConstants.FAILURE & ex.Message switch ((ExportFormatType)exportTypesList.SelectedIndex) case ExportFormatType.NoFormat:

case ExportFormatType.CrystalReport:

case ExportFormatType.RichText:

case ExportFormatType.WordForWindows:

case ExportFormatType.Excel:

case ExportFormatType.PortableDocFormat:

case ExportFormatType.HTML32:

case ExportFormatType.HTML40:

case ExportFormatType.ExcelRecord:

message.Text = MessageConstants.FORMAT_NOT_SUPPORTED;

message.Text = MessageConstants.SUCCESS;

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide catch (Exception ex) message.Text = MessageConstants.FAILURE + ex.Message;

1.5.2.7.6.4.3 Изменение операторов case в методе ExportSelection() В данном разделе описан процесс задания строки имени файла для каждого оператора case ExportFormatType.

1.5.2.7.6.4.3.1 Изменение операторов case в методе ExportSelection() Процедура 1. В методе ExportSelection() объявите cтроковую переменную и создайте переменную в пустой Dim myFileName As String = "" string fileName = "";

2. В операторе case ExportFormatType.CrystalReport задайте в качестве строки имени файла строку exportPath, за которой следует легко узнаваемое имя документа с расширением файла.rpt.

myFileName = exportPath & "Report.rpt" myFileName = exportPath + "Report.rpt";

3. В операторе сase ExportFormatType.RichText задайте в качестве строки имени файла строку exportPath, за которой следует легко узнаваемое имя документа с расширением файла.rtf.

myFileName = exportPath & "RichTextFormat.rtf" myFileName = exportPath + "RichTextFormat.rtf";

4. В операторе сase ExportFormatType.WordForWindows задайте в качестве строки имени файла строку exportPath, за которой следует легко узнаваемое имя документа с расширением файла.doc.

myFileName = exportPath & "Word.doc" © 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide fileName = exportPath + "Word.doc";

5. В операторе сase ExportFormatType.Excel задайте в качестве строки имени файла строку exportPath, за которой следует легко узнаваемое имя документа с расширением файла.xls.

myFileName = exportPath & "Excel.xls" fileName = exportPath + "Excel.xls";

6. В операторе сase ExportFormatType.PortableDocFormat задайте в качестве строки имени файла строку exportPath, за которой следует легко узнаваемое имя документа с расширением файла.pdf.

myFileName = exportPath & "PortableDoc.pdf" fileName = exportPath + "PortableDoc.pdf";

7. В операторе сase ExportFormatType.HTML32 задайте в качестве строки имени файла строку exportPath, за которой следует легко узнаваемое имя документа с расширением файла.html.

myFileName = exportPath & "HTML32.html" fileName = exportPath + "HTML32.html";

8. В операторе сase ExportFormatType.HTML40 задайте в качестве строки имени файла строку exportPath, за которой следует легко узнаваемое имя документа с расширением файла a.html.

myFileName = exportPath & "HTML40.html" fileName = exportPath + "HTML40.html";

9. В операторе сase ExportFormatType.ExcelRecord задайте в качестве строки имени файла строку exportPath, за которой следует легко узнаваемое имя документа с расширением файла.xls.

myFileName = exportPath & "ExcelRecord.xls" fileName = exportPath + "ExcelRecord.xls";

В данном разделе описана процедура вызова метода ExportToStream() и записи данных экспортированного отчета в файл заданного формата.

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 1.5.2.7.6.4.4.1 Вызов метода ExportToStream() в методе ExportSelection() Процедура 1. Над подписью класса добавьте объявление "Imports" [Visual Basic] или "using" [C#] в верхнюю часть класса для пространства имен System.IO.

Imports System.IO using System.IO;

2. В блоке Else метода ExportSelection() вызовите метод ExportToStream() экземпляра hierarchicalGroupingReport, передайте элемент ExportFormatType, выбранный из раскрывающегося списка exportTypesList, и присвойте экземпляр классу Stream.

hierarchicalGroupingReport.ExportToStream(exportTypesList.SelectedIndex) hierarchicalGroupingReport.ExportToStream((ExportFormatType)exportTypesList.Selec 3. Создайте новый байтовый массив такой же длины, как экземпляр Stream.

Dim myDataArray As byte() = New byte(myStream.Length) byte[] dataArray = new byte[stream.Length];

4. Считайте данные из экземпляра Stream в байтовый массив от нулевого смещения до длины экземпляра Stream.

myStream.Read(myDataArray, 0, Convert.ToInt32(myStream.Length));

stream.Read(dataArray, 0, Convert.ToInt32(stream.Length));

5. Создайте экземпляр FileStream, создающий файл, заданный строковой переменной имени файла.

Dim myFileStream As FileStream = New FileStream(myFileName, System.IO.FileMode.Create) FileStream fileStream = new FileStream(fileName, System.IO.FileMode.Create);

© 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 6. Запишите в файл данные, хранящиеся в байтовом массиве, от нулевого смещения до длины байтового массива.

myFileStream.Write(myDataArray, 0, myDataArray.Length) fileStream.Write(dataArray, 0, dataArray.Length);

7. Закройте экземпляр FileStream и экземпляр Stream.

myFileStream.Close() myStream.Close() fileStream.Close();

stream.Close();

8. Задайте в качестве свойства Text элемента управления Label с именем message константу SUCCESS класса MessageConstants.

message.Text = MessageConstants.SUCCESS message.Text = MessageConstants.SUCCESS;

Результаты Теперь можно собрать и запустить проект с целью экспорта отчета Crystal в разные форматы.

Для получения сведений о других модернизированных методах API щелкните соответствующую ссылку, чтобы перейти к требуемому разделу:

Использование метода ExportToDisk() [стр. 461] Использование метода ExportToHttpResponse() [стр. 471] 1.5.2.8 Руководство по фильтрации данных с использованием формул выбора В данном пособии рассказывается о фильтрации данных в объектной модели ReportDocument путем задания свойства RecordSelectionFormula класса DataDefinition.

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Вступление Формулы выбора используются для фильтрации записей, которые необходимо отобразить в отчете Crystal.

Для записи формул выбора можно использовать синтаксис Basic или Crystal.

В этом учебном пособии рассказывается о создании формулы выбора для фильтрации записей о клиентах, в которых значение поля "Продажи за прошлый год" больше заданного, а поле "Имя клиента" сравнивается с другой строкой. Элемент управления DropDownList (веб) или ComboBox (Windows) выбирает оператор сравнения для поля "Имя клиента". Можно выбрать отображение имен клиентов, которые равны, меньше, больше, меньше или равны, больше или равны, или не равны указанному строковому значению.

Формула передается в виде строковой переменной свойству SelectionFormula класса CrystalReportViewer.

Когда свойство задано, отчет Crystal, который устанавливает связь с элементом управления CrystalReportViewer, фильтруется перед отображением.

В целях данного пособия можно также использовать классы объектной модели CrystalReportViewer, хотя объектная модель ReportDocument более предпочтительна.

Примеры кода Данное учебное пособие содержит образцы кода на языках Visual Basic и C#, демонстрирующие готовую версию проекта. Следуя инструкциям пособия, создайте новый проект или откройте проект примера кода, чтобы начать работу с завершенной версией.

Примеры кода хранятся в папках, упорядоченных по языку и типу проекта. Файлы для каждой версии примера кода хранятся в следующих папках:

Веб-сайт C#: CS_Web_RDObjMod_SavedDataSelectionFormula Проект Windows C#: CS_Win_RDObjMod_SavedDataSelectionFormula Веб-сайт Visual Basic: VB_Web_RDObjMod_SavedDataSelectionFormula Проект Windows Visual Basic: VB_Win_RDObjMod_SavedDataSelectionFormula База данных Xtreme В этом учебном пособии используется пример базы данных под названием Xtreme. Файл xtreme.mdb базы данных включен в пакет примеров кода SAP Crystal Reports.NET SDK. Чтобы использовать базу данных Xtreme, необходимо вручную создать соединение ODBC с ней.

Связанные сведения Выбор правильной объектной модели для проекта [стр. 32] Каталог образцов отчетов [стр. 15] © 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Для начала следует создать отчет Crystal, в котором будет осуществляться фильтрация данных.

Контекст Данная процедура работает только с проектами, созданными из Настройка проекта [стр. 16]. Настройка проекта включает специальные ссылки на пространство имен и конфигурацию кода, необходимую для выполнения данной процедуры. Выполнение процедуры без этой конфигурации невозможно.

Процедура 1. В Проводнике решений щелкните правой кнопкой мыши имя проекта, выделенное жирным шрифтом, укажите пункт Добавить, а затем выберите команду Добавить новый элемент.

2. В диалоговом окне Добавление нового элемента в представлении Шаблоны выберите шаблон Crystal 3. В поле Имя введите имя "CustomerBySalesName.rpt" и нажмите кнопку Добавить.

4. На панели Создание нового документа Crystal Report диалогового окна Галерея Crystal Reports выберите С помощью мастера отчетов.

5. На панели Выбор мастера выберите параметр Стандарт, затем нажмите кнопку ОК.

6. На панели Доступные источники данных окна мастера создания стандартных отчетов разверните папку Создать новое соединение.

7. В открывшейся подпапке разверните папку ODBC (RDO).

8. В окне ODBC (RDO) выберите правильную запись ODBC DSN для образца базы данных Xtreme, затем нажмите кнопку Готово.

Папка ODBC (RDO) развернется и отобразит базу данных Xtreme.

9. Разверните узел Таблицы и выберите таблицу Клиент.

10. Дважды щелкните таблицу Customer, чтобы переместить ее на панель Выбранные таблицы, после чего нажмите кнопку Далее.

11. Удерживая клавишу CTRL, щелкните Имя клиента, Продажи за прошлый год и Город.

12. Щелкните символ >, чтобы переместить эти поля в область Отображаемые поля, и нажмите кнопку Готово.

Отчет CustomerBySalesName создается и загружается в основное окно Visual Studio.

13. Выберите Предварительный просмотр основного отчета.

Отчет со всеми имеющимися данными отображается в режиме предварительного просмотра. Позже будет производиться фильтрация этих данных программными средствами.

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 14. Нажмите кнопку Основной отчет для выхода из режима предварительного просмотра.

В Настройка проекта [стр. 16] мы поместили элемент управления CrystalReportViewer на веб- или Windowsформу. На предыдущем этапе вы добавили в проект отчет CustomerBySalesName.

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

Создать и связать экземпляр отчета можно двумя способами:

Как встроенный отчет.

Как невстроенный отчет.

Выберите одну из пошаговых процедур, приведенных ниже.

Если вы используете встроенные отчеты, выполните следующую пошаговую процедуру для создания отчета встроенного типа.

Если вы используете невстроенные отчеты, выполните вторую пошаговую процедуру для создания отчета невстроенного типа.

1.5.2.8.2.1 Создание отчета встроенного типа CustomerBySalesName и привязка его к элементу управления CrystalReportViewer Процедура 1. Откройте веб-форму или форму Windows.

2. В меню Вид выберите команду Код.

3. Добавьте новое объявление уровня класса для класса-обертки отчета CustomerBySalesName, используя имя переменной customerBySalesNameReport. Установите для него модификатор доступа Private customerBySalesNameReport As CustomerBySalesName private CustomerBySalesName customerBySalesNameReport;

4. Внутри метода ConfigureCrystalReports() создайте экземпляр класса обертки отчета.

© 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Вы создали метод ConfigureCrystalReports() method in Настройка проекта [стр. 16].

customerBySalesNameReport = New CustomerBySalesName() customerBySalesNameReport = new CustomerBySalesName();

5. На следующей строке ниже той, где создавался отчет, выполните привязку свойства ReportSource элемента управления CrystalReportViewer к созданному классу отчета (имя переменной:

customerBySalesNameReport).

myCrystalReportViewer.ReportSource = customerBySalesNameReport crystalReportViewer.ReportSource = customerBySalesNameReport;

Результаты Все готово к сборке и запуску проекта. Перейдите к следующему разделу ниже.

1.5.2.8.2.2 Создание отчета невстроенного типа CustomerBySalesName и привязка его к элементу управления CrystalReportViewer Процедура 1. Откройте веб-форму или форму Windows.

2. В меню Вид выберите команду Код.

3. Добавьте новое объявление уровня класса для класса упаковщиков отчетов ReportDocument с именем переменной customerBySalesNameReport. Установите для него модификатор доступа private.

Private customerBySalesNameReport As ReportDocument private ReportDocument customerBySalesNameReport;

Класс ReportDocument является элементом пространства имен CrystalDecisions.CrystalReports.Engine. Вы добавили объявление "Imports" [Visual Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Basic] или "using" [C#] для этого пространства имен в Настройка проекта [стр. 16]. При создании отчета ReportDocument и загрузке его в пространство имен доступ к отчету осуществляется через SDK, без встраивания отчета.

4. В методе ConfigureCrystalReports() (созданном в разделе Настройка проекта [стр. 16]) создайте класс ReportDocument.

customerBySalesNameReport = New ReportDocument() customerBySalesNameReport = new ReportDocument();

5. Объявите строковую переменную, назовите ее reportPath и присвойте ей путь исполняемого модуля к месту хранения локального отчета. Этот путь определяется по-разному для веб-сайтов и для проектов Windows.

Для веб-сайта передайте имя локального файла отчета в виде строкового параметра в метод Server.MapPath(). Это определит расположение локального отчета как путь к каталогу на жестком диске во время выполнения.

Dim reportPath As String = Server.MapPath("CustomerBySalesName.rpt") string reportPath = Server.MapPath("CustomerBySalesName.rpt");

Для проекта Windows соедините свойство Application.StartupPath с обратной косой чертой и именем файла локального отчета. Это определит расположение отчета в том же каталоге, что и Во время компиляции отчет будет скопирован в каталог, который содержит исполняемый файл.

Dim reportPath As String = Application.StartupPath & "\" & "CustomerBySalesName.rpt" string reportPath = Application.StartupPath + "\\" + "CustomerBySalesName.rpt";

6. Вызовите метод Load() экземпляра ReportDocument и передайте его в строковую переменную reportPath.

customerBySalesNameReport.Load(reportPath) customerBySalesNameReport.Load(reportPath);

© 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 7. В следующей строке после загрузки отчета свяжите свойство ReportSource объекта CrystalReportViewer с экземпляром ReportDocument.

myCrystalReportViewer.ReportSource = customerBySalesNameReport crystalReportViewer.ReportSource = customerBySalesNameReport;

Результаты Независимо от того, что вы выбрали — создание класса встроенных отчетов или невстроенного отчета посредством ReportDocument — в обоих случаях используется одно имя переменной:

customerBySalesNameReport. Это позволяет использовать в последующих процедурах один и тот же код.

Все готово к сборке и запуску проекта.

1.5.2.8.2.3 Проверка загрузки отчета CustomerBySalesName Процедура 1. В меню Построение выберите команду Построение решения.

2. В случае возникновения ошибок сборки сразу исправьте их.

3. Если в проекте Windows используется невстроенный отчет, найдите скомпилированный исполняемый файл Windows в подкаталоге \bin\ [Visual Basic] или \bin\debug\ [C#] и скопируйте отчет в этот подкаталог.

Чтобы невстроенный отчет загружался исполняемым файлом Windows во время выполнения, отчет должен храниться в том же каталоге, что и исполняемый файл Windows.

4. В меню Отладка выберите команду Начать.

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

5. Вернитесь в среду Visual Studio и нажмите кнопку Остановить, чтобы выйти из режима отладки.

Из этого раздела вы узнаете, как применить фильтр к данным отчета.

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Процедура 1. Откройте форму Windows или веб-форму в представлении "Проект".

2. В меню Вид выберите команду Код.

3. В верхней части класса добавьте три новых объявления переменных уровня класса, которые будут представлять значения для фильтрации данных.

Private salesAmount As String Private operatorValue As String Private customerName As String private string salesAmount;

private string operatorValue;

private string customerName;

4. Если создается проект Windows, добавьте еще одно объявление переменной уровня класса — булево выражение с именем useDefaultValues, и присвойте ему значение True.

Private useDefaultValues As Boolean = True private bool useDefaultValues = true;

5. В методе ConfigureCrystalReports() создайте условный блок.

При разработке веб-сайта создайте условный блок Not IsPostBack. Расположите этот блок над При разработке проекта Windows создайте условный блок useDefaultValues. Расположите этот 6. В условном блоке присвойте трем переменным уровня класса значения 4000, < и K.

© 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide Эти значения присваиваются в условном блоке, так как позднее они будут переопределены событием button click.

salesAmount = "4000" + " AND Mid({Customer.Customer Name}, 1, 1) " 8. В созданном ранее коде привязки отчета создайте разрыв строки прямо над строкой кода, где отчет customerBySalesName присвоен свойству ReportSource элемента управления CrystalReportViewer.

9. В этом разрыве строки присвойте строковую переменную selectionFormula экземпляру ReportDocument.

customerBySalesNameReport.DataDefinition.RecordSelectionFormula = selectionFormula customerBySalesNameReport.DataDefinition.RecordSelectionFormula = selectionFormula;

10. Скомпилируйте и просмотрите приложение.

Теперь следует выполнить фильтрацию данных.

11. Вернитесь в среду Visual Studio и нажмите кнопку Остановить, чтобы выйти из режима отладки.

Результаты В следующем разделе описано создание элементов управления в форме, которая позволяет осуществлять динамическую настройку формулы выбора.

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 1.5.2.8.4 Добавление элементов управления для динамической фильтрации В этом разделе описано добавление элементов управления, которые будут использоваться в формуле выбора. Эти элементы управления позволяют осуществлять динамическое управление данными.

1.5.2.8.4.1 Чтобы добавить элементы управления для использования в формуле выбора Процедура 1. Откройте веб-форму или форму Windows.

2. В меню Вид выберите команду Конструктор.

3. Если разрабатывается веб-сайт, выполните такие действия:

a) Щелкните элемент управления CrystalReportViewer, чтобы выделить его.

b) Нажмите на клавиатуре клавишу СТРЕЛКА ВЛЕВО, чтобы появился мигающий курсор, а затем нажмите клавишу ENTER пять раз.

Элемент управления CrystalReportViewer отображается на пяти строках.

4. Если разрабатывается проект Windows, выполните следующие действия:

a) Щелкните элемент управления CrystalReportViewer, чтобы выделить его.

b) В окне Свойства установите элемент Фиксация в положение "Кнопка".

c) Измените размер элемента управления CrystalReportViewer так, чтобы над ним помещались d) В окне Свойства задайте для свойства Anchor значения "Top, Bottom, Left, Right".

5. На панели инструментов перетащите элемент управления Label в форму вверху слева.

6. В окне Свойства задайте для свойства Текст значение "Отображать следующих клиентов:" 7. На панели инструментов перетащите второй элемент управления Label в форму, разместив его под 8. В окне Свойства задайте для свойства Текст "- продажи за прошлый год > $".

9. На панели инструментов перетащите третий элемент управления Label в форму, разместив его под 10. В окне Свойства задайте для свойства Текст значение "- первая буква имени".

11. На панели инструментов перетащите элемент управления TextBox вправо от второго элемента управления Label.

12. В окне Свойства задайте для свойства Идентификатор значение "lastYearsSales".

13. На панели инструментов перетащите элемент управления DropDownList (веб) или ComboBox (Windows) вправо от третьего элемента управления Label.

14. В окне Свойства задайте для свойства Идентификатор значение "operatorValueList".

15. На панели инструментов перетащите элемент управления TextBox вправо от элемента управления DropDownList (веб) или ComboBox (Windows).

© 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 16. В окне Свойства задайте для свойства Идентификатор значение "letterOfName".

17. На панели инструментов перетащите элемент управления Button под третий элемент управления Label.

18. В окне Свойства задайте для свойства Идентификатор значение "отображать повторно", а для свойства Текст — значение "Отображать отчет повторно".

19. На панели инструментов перетащите элемент управления Label под элемент управления Button.

20. В окне Свойства задайте для свойства Идентификатор значение "формула", а свойство Текст оставьте пустым.

Убедитесь, что элемент управления CrystalReportViewer располагается непосредственно под этими элементами управления.

21. В меню Файл выберите команду Сохранить все.

Результаты В следующем разделе рассказывается о том, как заполнить элемент управления DropDownList (веб) или ComboBox (Windows).

1.5.2.8.5 Заполнение элемента управления DropDownList или ComboBox Для элемента управления DropDownList (веб) или ComboBox (Windows) необходим список значений операторов (равно, больше и т.д.). Наиболее типичным способом заполнения этого элемента управления является предоставление списка значений как перечислителя.

1.5.2.8.5.1 Заполнение элемента управления DropDownList или ComboBox Процедура 1. В Проводнике решений щелкните правой кнопкой мыши имя проекта, выделенное жирным шрифтом, укажите пункт Добавить, а затем выберите команду Добавить новый элемент.

2. В диалоговом окне Добавление нового элемента выберите Класс.

3. Ведите имя "CeComparisonOperator" и нажмите кнопку "ОК".

4. В файле класса измените слово class на enum.

В Visual Basic не забудьте изменить начальную и конечную подписи. В C# удалите конструктор.

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 5. Введите следующие значения перечисления.

6. Откройте форму Windows или веб-форму в представлении Проект.

7. В меню Вид выберите команду Код.

8. После этого в методе ConfigureCrystalReports() подставьте в экземпляр operatorValueList значения из перечисления CeComparisonOperator. Этот код помещается в другое расположение, в зависимости от того, что создается — веб-сайт или проект Windows.

На веб-сайте поместите присвоение свойства DataSource и привязку в условный блок Not operatorValueList.DataSource = System.Enum.GetValues(GetType(CeComparisonOperator)) operatorValueList.DataBind() operatorValueList.DataSource = System.Enum.GetValues(typeof(CeComparisonOperator));

operatorValueList.DataBind();

В проекте Windows поместите только присвоение свойства DataSource в условный блок operatorValueList.DataSource = System.Enum.GetValues(GetType(CeComparisonOperator)) operatorValueList.DataSource = System.Enum.GetValues(typeof(CeComparisonOperator));

В проекте Windows не требуется вызывать метод DataBind().

9. В нижней части метода ConfigureCrystalReports() присвойте строку selectionFormula свойству Text элемента управления Label с именем formula.

formula.Text = selectionFormula © 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide formula.Text = selectionFormula;

10. Скомпилируйте и просмотрите приложение.

Список операторов и все остальные элементы управления должны отображаться корректно.

11. Закройте браузер.

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

1.5.2.8.6 Извлечение выбранных пунктов из элемента управления В этом разделе описана процедура извлечения выбранных пунктов из элемента управления DropDownList (веб) или ComboBox (Windows).

1.5.2.8.6.1 Извлечение выбранных пунктов из элемента управления Процедура 1. Откройте форму Windows или веб-форму в представлении Проект.

2. В меню Вид выберите команду Код.

3. В нижней части класса создайте конфиденциальный вспомогательный метод GetSelectedOperator(), возвращающий строковое значение.

Private Function GetSelectedOperator() As String private string GetSelectedOperator() 4. В методе объявите строку selectedOperator и присвойте ей пустое строковое значение.

Dim selectedOperator As String = "" string selectedOperator = "";

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 5. Не покидая пределов метода, создайте оператор case Select Case/switch, который проверяет выбранный индекс в элементе управления list и возвращает соответствующее значение перечисления.

В C# необходимо явным образом привести выбранный индекс к перечислению (enum) в подписи Select Case operatorValueList.SelectedIndex Case CeComparisonOperator.EqualTo Case CeComparisonOperator.GreaterThan Case CeComparisonOperator.GreaterThanOrEqualTo Case CeComparisonOperator.LessThan case CeComparisonOperator.LessThan:

+ " AND Mid({Customer.Customer Name}, 1, 1) " 5. Присвойте переменную selectionFormula типа String экземпляру ReportDocument.

customerBySalesNameReport.DataDefinition.SavedDataSelectionFormula = selectionFormula customerBySalesNameReport.DataDefinition.SavedDataSelectionFormula = selectionFormula;

6. На следующей строке выполните привязку свойства ReportSource экземпляра CrystalReportViewer к экземпляру ReportDocument.

myCrystalReportViewer.ReportSource = customerBySalesNameReport crystalReportViewer.ReportSource = customerBySalesNameReport;

7. В нижней части метода присвойте строку selectionFormula свойству Text элемента управления Label с именем formula.

formula.Text = selectionFormula formula.Text = selectionFormula;

Результаты Теперь можно протестировать приложение.

В этом разделе речь пойдет о проверке фильтрации данных.

Процедура 1. Скомпилируйте и просмотрите приложение.

2. Проверьте, отображается ли отчет со значениями фильтрации по умолчанию.

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 3. Введите "30000" в качестве значения продаж за прошлый год.

4. Выберите GreaterThan из элемента DropDownList (веб) или ComboBox (Windows).

5. Введите "H" в поле TextBox и нажмите кнопку Отобразить отчет повторно.

Отчет отображается повторно и включает всех клиентов, чьи имена начинаются с букв H — K, и продажи которым превышают 30000 долларов.

6. Измените "H" на "S" в текстовом поле и нажмите кнопку Отобразить отчет повторно.

Отчет отображается без данных. Это происходит потому, что буква "S" лежит за пределами начальных параметров, заданных в методе ConfigureCrystalReports().

7. Закройте браузер.

1.5.2.9 Учебное пособие: отображение фрагментов отчетов с помощью элемента управления CrystalReportPartsViewer В данном учебном пособии предоставляются сведения о разделении отчета на фрагменты и отображении каждого фрагмента путем последовательного выбора гиперссылок.

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

Фрагменты отчета используются только на веб-сайтах; они недоступны для проектов Windows.

Существует два основных способа просмотра отчета:

Отчет можно просмотреть полностью.

Отчет можно просмотреть в качестве последовательности связанных его фрагментов.

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

Например, поставляемая с программой SAP Crystal Reports база данных Xtreme Access содержит данные о клиентах магазинов, продающих велосипеды, из многих мест в мире. Обычным способом просмотра © 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide данных отчета является просмотр сведений об отдельных продающих велосипеды магазинах, упорядоченных в группы на основе регионов, а затем городов, с подробным отображением отдельных строк сведений для каждого магазина.

Для отображения отчетов полностью используется элемент управления CrystalReportViewer.

Просмотр отчета в качестве последовательности связанных фрагментов С появлением веб-порталов и возможности просмотра веб-страниц при помощи мобильных телефонов, на которых информация отображается в ограниченной области просмотра, был разработан новый способ отображения отчетов.

Для этого целостный отчет, ранее состоявший из групповых категорий, подкатегорий и строк с подробными сведениями, повторно определяется как последовательность фрагментов отчета. Эти части затем отображаются в пределах связанных представлений страниц. В этом сценарии сначала отображается наивысшая группа категории сведений. Когда выбран элемент из этой группы верхнего уровня, отображается подкатегория сведений о группе. Эта развертка продолжается, пока не будут достигнуты отдельные строки с подробными сведениями для определенной подкатегории.

Например, данные о клиентах магазинов, продающих велосипеды, в базе данных Xtreme сначала отображаются как список регионов. При выборе отдельного региона отображаются города в пределах данного региона. При выборе определенного города отображаются строки с подробными сведениями о магазинах, продающих велосипеды, которые расположены в пределах данного города.

Такое разделение отчета позволяет эффективно получать доступ к большому и сложному отчету в пределах сильно ограниченной области просмотра.

Элемент управления CrystalReportPartsViewer используется для отображения отчетов в виде последовательности связанных фрагментов.

Примеры кода Данное учебное пособие содержит образцы кода на языках Visual Basic и C#, демонстрирующие готовую версию проекта. Придерживайтесь инструкций данного учебного пособия, чтобы создать новый проект или открыть проект примера кода для работы с укомплектованной версией.

Примеры кода хранятся в папках, упорядоченных по языку и типу проекта. Ниже приведены имена папок для каждой версии примера кода.

Веб-сайт C#: CS_Web_RDObjMod_ReportParts Веб-сайт Visual Basic: VB_Web_RDObjMod_ReportParts Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide База данных Xtreme В этом учебном пособии используется пример базы данных под названием Xtreme. Файл xtreme.mdb базы данных включен в пакет примеров кода SAP Crystal Reports.NET SDK. Чтобы использовать базу данных Xtreme, необходимо вручную создать соединение ODBC с ней.

Связанные сведения Каталог образцов отчетов [стр. 15] Для начала создадим отчет, который черпает информацию из базы данных Xtreme.

1.5.2.9.1.1 Создание отчета с параметрами Процедура 1. В Проводнике решений щелкните правой кнопкой мыши имя проекта, выделенное жирным шрифтом, укажите пункт Добавить, а затем выберите команду Добавить новый элемент.

2. В диалоговом окне Добавление нового элемента в представлении Шаблоны выберите шаблон с именем "Crystal Report".

3. В поле Имя введите имя "Customers.rpt" и нажмите кнопку Добавить.

4. На панели Создание нового документа Crystal Report диалогового окна Галерея Crystal Reports выберите С помощью мастера отчетов.

5. На панели Выбор мастера выберите параметр Стандарт, затем нажмите кнопку ОК.

6. На панели Доступные источники данных окна мастера создания стандартных отчетов разверните папку Создать новое соединение.

7. В открывшейся подпапке разверните папку ODBC (RDO).

8. В окне ODBC (RDO) выберите правильную запись ODBC DSN для базы данных Xtreme, затем нажмите кнопку Готово.

Папка ODBC (RDO) развернется и отобразит базу данных Xtreme.

9. Разверните узел Таблицы и выберите таблицу Клиент.

10. Дважды щелкните таблицу Customer, чтобы переместить ее на панель Выбранные таблицы, после чего нажмите кнопку Далее.

11. Зажав клавишу CTRL, щелкните поля Страна, Имя клиента, Продажи за последний год, Регион и Город.

12. Щелкните символ > для перемещения этих полей на панель Отображаемые поля, а затем нажмите кнопку Далее.

© 2014 SAP AG или аффилированная компания SAP. Все права Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 13. На панели Доступные поля в разделе Поля отчета выполните следующие инструкции:

a) Выберите поле Страна, щелкните символ > для перемещения этого поля на панель Группировать b) Выберите поле Регион, щелкните символ > для перемещения этого поля на панель Группировать c) Нажмите кнопку Далее.

Для поля "Продажи за последний год" в группах "Страна" и "Регион" будут созданы итоговые поля.

14. Нажмите кнопку Завершить.

Будет создан отчет "Клиенты", который будет загружен в главное окно программы Visual Studio.

15. В нижней части окна нажмите кнопку Предварительный просмотр главного отчета.

Отчет отображается в иерархическом порядке по уровням, отсортированным сначала по стране, а затем по региону. Если отобразить отчет по фрагментам, каждый уровень будет отображаться отдельно.

Результаты Все готово к преобразованию отчета для отображения его фрагментов.

1.5.2.9.2 Преобразование отчета для отображения его фрагментов В данном раздела вы научитесь создавать в отчете гиперссылки для создания ссылок с более общих на более подробные сведения.

1.5.2.9.2.1 Преобразование отчета для отображения его фрагментов Процедура 1. В нижней части окна щелкните элемент Главный отчет.

Наивысшая группа, Имя_группы #1, отображается в двух расположениях: в верхней и нижней части В нижней части отчета в разделе "Нижний колонтитул группы #1" находится метка Имя_группы #1, за которой следует итоговое поле для категории Клиент.Продажи за последний год. Эта метка является предпочитаемой для использования в качестве точки входа в фрагменты отчета.

2. Щелкните правой кнопкой мыши пункт Имя_группы #1, расположенный в разделе Нижний колонтитул группы #1, а затем нажмите кнопку Копировать.

Руководство SAP Crystal Reports для Visual Studio.NET SDK Developer Guide 3. Щелкните правой кнопкой мыши в пустой области отчета, укажите пункт Отчет, а затем выберите Параметры отчета.

4. В диалоговом окне "Параметры отчета" нажмите кнопку Вставить ссылку.

Идентификатор метки группы 1 "GroupNameCountry2" будет вставлен в поле Имя объекта.

Поле Контекст данных принимает строковое значение, фильтрующее данные отчета. В данный момент это поле следует оставить пустым.



Pages:     | 1 |   ...   | 8 | 9 || 11 | 12 |   ...   | 17 |
Похожие работы:

«ИНВЕСТИЦИОННЫЙ ПАСПОРТ ГОРОДА ИЖЕВСКА СОДЕРЖАНИЕ Обращение Главы Администрации города Ижевска 1. Информация о городе Ижевске 1.1 Историческая справка 1.2 Расположение и административно-территориальное деление города 1.3 Природные ресурсы 1.4 Охрана окружающей среды 1.5 Население и кадровый потенциал 1.6 Образование 1.7 Здравоохранение 1.8 Культура 1.9 Физическая культура и спорт 1.10 Транспорт 1.11 Строительство 1.12 Потребительский рынок 1.13 Промышленность 1.14 Финансовая инфраструктура 1.15...»

«НАЦИОНАЛЬНЫЙ АЭРОКОСМИЧЕСКИЙ УНИВЕРСИТЕТ ИМ. Н.Е. ЖУКОВСКОГО “ХАРЬКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ” ВОПРОСЫ ПРОЕКТИРОВАНИЯ И ПРОИЗВОДСТВА КОНСТРУКЦИЙ ЛЕТАТЕЛЬНЫХ АППАРАТОВ Сборник научных трудов Выпуск 3 (67) 2011 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ, МОЛОДЕЖИ И СПОРТА УКРАИНЫ Национальный аэрокосмический университет им. Н.Е. Жуковского Харьковский авиационный институт ISSN 1818-8052 ВОПРОСЫ ПРОЕКТИРОВАНИЯ И ПРОИЗВОДСТВА КОНСТРУКЦИЙ ЛЕТАТЕЛЬНЫХ АППАРАТОВ 3(67) июль – сентябрь СБОРНИК НАУЧНЫХ ТРУДОВ...»

«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ имени М.В. ЛОМОНОСОВА НАУЧНО-ИССЛЕДОВАТЕЛЬСКИЙ ИНСТИТУТ ЯДЕРНОЙ ФИЗИКИ имени Д.В.СКОБЕЛЬЦЫНА Б.С. Ишханов, В.И. Шведунов УСКОРИТЕЛИ ЭЛЕКТРОНОВ И ФИЗИКА ЭЛЕКТРОМАГНИТНЫХ ВЗАИМОДЕЙСТВИЙ В НИИЯФ МГУ Препринт НИИЯФ МГУ – 2008 – 5/841 УДК 621.039 Б.С. Ишханов, В.И. Шведунов УСКОРИТЕЛИ ЭЛЕКТРОНОВ И ФИЗИКА ЭЛЕКТРОМАГНИТНЫХ ВЗАИМОДЕЙСТВИЙ В НИИЯФ МГУ Препринт НИИЯФ МГУ – 2008 – 5/841 Аннотация Описана история создания ускорителей электронов в НИИЯФ МГУ и...»

«1 БЮЛЛЕТЕНЬ НОВЫХ ПОСТУПЛЕНИЙ 1-15 ДЕКАБРЯ 2010г. В настоящий Бюллетень включены книги, поступившие в отделы Фундаментальной библиотеки с 1 по 15 декабря 2010 г. Бюллетень составлен на основе записей Электронного каталога. Материал расположен в систематическом порядке по отраслям знания, внутри разделов – в алфавите авторов и заглавий. Записи включают полное библиографическое описание изданий, шифр книги и место хранения издания в сокращенном виде (список сокращений приводится в Бюллетене)....»

«Перечень потребностей предприятий Узбекистана в новых инновационных разработках и технологиях Тема научной разработки или четкая формулировка потребности 1. (проблемы) в инновационной технологии. Краткое описание технического задания на научно-прикладную 2. разработку, технологию или оборудование, требующего решения. Ожидаемые результаты. 3. Срок, к которому необходимо получить результаты научной 4. разработки. Потенциальный (предполагаемый) исполнитель проекта или 5. разработки (из числа...»

«2 3 1. Цели освоения дисциплины Целями освоения дисциплины Основы проектирования являются: изучение основ организации и выполнения проектирования химических производств, обоснования района размещения проектируемого производства, порядка формирования и содержание задания на проектирование, основных этапов проектирования; получение навыков в выполнении технико-экономического обоснования площадки для строительства и технологической схемы производства целевого продукта; ознакомление с методикой...»

«ПРАВОВЫЕ АКТЫ МЭРии ГОРОДА НОВОСиБиРСКА  РАСПОРЯЖЕНиЯ МЭРиЯ ГОРОДА НОВОСиБиРСКА РАСПОРЯЖЕНиЕ От 20.11.2009 № 30912-р Об утверждении условий приватизации арендуемого индивидуальным предпринимателем Косьяновой ириной Александровной нежилого помещения на 1-м этаже в здании молочной кухни 1-этажном с подвалом по адресу: город Новосибирск, Первомайский район, ул. Березовая, 2 В соответствии с федеральными законами Об особенностях отчуждения недвижимого имущества, находящегося в государственной...»

«Урбанизация биосферы Д.Н.Кавтарадзе Московский государственный университет Введение. Постановка проблемы, становление феномена Поиск общего знаменателя экосистем города Концепция сопряжённой эволюции природы и общества Управление и направление Урбанизация и системы коммуникаций Социальные процессы..17 Методология: междисциплинарность исследований феномена урбанизации. 21 Проблемы исследования городских экосистем Почвы урбанизированных территорий Растительность и флора урбанизированных...»

«ТРУБЫ, ФАСОННЫЕ ИЗДЕЛИЯ И ЗАПОРНАЯ АРМАТУРА СТАЛЬНЫЕ С ТЕПЛОВОЙ ИЗОЛЯЦИЕЙ ИЗ ПЕНОПОЛИУРЕТАНА В ГИДРОЗАЩИТНОЙ ОБОЛОЧКЕ РАБОЧИЙ КАТАЛОГ ДЛЯ ПРОЕКТИРОВЩИКОВ V РЕДАКЦИЯ (издание от 20 января 2006 г. исправленное и дополненное) г. ОРЕНБУРГ 2006 ПОЛИМЕРСТРОЙ СОДЕРЖАНИЕ Условные обозначения 1. Трубы и фасонные изделия стальные с тепловой изоляцией из пенополиуретана в полиэтиленовой оболочке для подземной прокладки 1.1 Теплоизолированные трубы 1.2 Теплоизолированные трубы с усиленной оболочкой для...»

«+ АНАЛИЗ РАБОТЫ за 2009/2010 учебный год ПЛАН РАБОТЫ на 2010/2011 учебный год частного общеобразовательного учреждения Лицей-интернат естественных наук Саратов 2010 1 Содержание Стр. 1. Анализ деятельности коллектива ЛИЕН за 2009/2010 учебный год. 3–21 2. Приоритетные задачи лицея-интерната на 2010/2011 учебный год. 22–23 3. Мероприятия по набору учащихся в лицей 4. План проведения педагогических советов 5. План проведения заседаний НМС 6. Система руководства и контроля 7. Мониторинг...»

«СОХРАНЕНИЕ КОНКУРЕНТОСПОСОБНОСТИ ПРЕДПРИЯТИЯ ООО ТОРГОВО-ТРАНСПОРТНАЯ КОМПАНИЯ АЛЬЯНС НА РЫНКЕ СТРОИТЕЛЬНОЙ ИНДУСТРИИ ЧЕЛЯБИНСКОЙ ОБЛАСТИ Сафонова М.С. Финансовый университет при Правительстве РФ (Челябинский филиал), Россия научный руководитель: Якушев А.А., к.т.н., доцент Финансовый университет при Правительстве РФ (Челябинский филиал), Россия CONSERVATION OF COMPETITIVENESS OF THE ENTERPRISE OF LLC TRADING-TRANSPORT COMPANY ALLIANCE IN THE MARKET OF THE BUILDING INDUSTRY OF THE CHELYABINSK...»

«УДК 94 ББК 63.3(4Фин)+63.3(2) Г32 Гельсингфорс–Санкт-Петербург Г32 Страницы истории (вт. пол. XIX — нач. XX в.) : сборник статей / под. ред. Т. Вихавайнена, С. Г. Кащенко. — СПб. : Нестор-История, 2012. — 200 с. ISBN 978-5-905987-28-1 Предлагаемый читателю коллективный сборник статей является результатом труда историков Хельсинки и Санкт-Петербурга, принимавших участие в совместном исследовательском проекте, поддержанном Академией наук Финляндии и Российской Академией наук. УДК 94 ББК...»

«ГОДОВОЙ ОТЧЕТ 20 12 ОАО НИЖНЕКАМСКТЕХУГЛЕРОД, ОАО НИЖНЕКАМСКТЕХУГЛЕРОД ГОДОВОЙ ОТЧЕТ за 2012 год Годовой отчет ОАО Нижнекамсктехуглерод за 2012 год рассмотрен Советом директоров 30 апреля 2013 года и рекомендован на утверждение Общему собранию акционеров ОАО Нижнекамсктехуглерод З.Ф. Шарафеев Председатель Совета директоров ОАО Нижнекамсктехуглерод Директор ООО УК Татнефть-Нефтехим НАША МИССИЯ Динамичное развитие Общества с целью наиболее полного удовлетворения потребителей техническим...»

«6.1.Состояние материально-технической базы АНО ВПО КИУ.191 6.2.Состояние и развитие учебно-лабораторной базы, уровень ее оснащения..192 6.3. Социально-бытовые условия АНО ВПО КИУ.195 ЗАКЛЮЧЕНИЕ..194 Приложение 1. ПОКАЗАТЕЛИ ДЕЯТЕЛЬНОСТИ ОБРАЗОВАТЕЛЬНОЙ ОРГАНИЗАЦИИ ВЫСШНГО ОБРАЗОВАНИЯ, ПОДЛЕЖАЩЕЙ САМООБСЛЕДОВАНИЮ Автономная некоммерческая организация высшего профессионального образования Калининградский институт управления 1. Общие сведения об образовательной организации Институт – Автономная...»

«4 госии! да в Рос Почувствуй свою красоту Осень 2014 Макияж: СЧАСТЬЕ быть ЖЕНЩИНОЙ БАРХАТНЫЙ сезон 12+ для нашей кожи Коллекция L'UOMO КАК ВЫБРАТЬ правильный уход для волос мужские тренды Профессиональный макияж с Широкий ассортимент кисточек от ALCINA из высококачественных материалов обеспечит оптимальное нанесение любых декоративных средств. С их помощью можно быстро и просто создать профессиональный макияж. Теперь и в новом дизайне! Спрашивайте в салонах ALCINA ОСЕНЬ Содержание 23 РУБРИКИ 4...»

«УДК 621.56/.59 И. В. Т и щ е н к о, Д. А. К у д е р к о ИССЛЕДОВАНИЕ СИСТЕМ КОНДИЦИОНИРОВАНИЯ ВОЗДУХА ЛЕГКИХ САМОЛЕТОВ И ВЕРТОЛЕТОВ Проведены исследования в области разработок систем кондиционирования воздуха легких самолетов и вертолетов, предложена концепция систем кондиционирования воздуха для таких летательных аппаратов. Результаты данной работы могут быть использованы при проектировании макета и опытного образца системы кондиционирования воздуха легких самолетов и вертолетов на стадиях...»

«Уважаемые друзья! Мы рады предложить Вам знакомство с одним из крупнейших областных центров Украины, городом корабелов, портовиков и машиностроителей, городом студенчества, городом невест. Своим трудом и продукцией своих предприятий, качеством преподавания, выдающимися интеллектуальными и научнотехническими достижениями, талантами хозяйственников или предпринимателей тысячи николаевцев берегут и укрепляют авторитет нашего города. Многим бизнесменам и правительствам всего мира знакомы названия...»

«Розенберг Норд-Вест ПРЕВОСХОДСТВО В ВОЗДУХЕ г. Санкт-Петербург Инжиниринговая компания Розенберг Норд-Вест на протяжении 15 лет является официальным представителем немецкого концерна Rosenberg Ventilatoren GmbH на территории Российской Федерации, а также эксклюзивным представителем в СевероПРЕВОСХОДСТВО В ВОЗДУХЕ Западном и Южном федеральных округах. Rosenberg Ventilatoren GmbH (Германия)ведущий европейский производитель оборудования для систем вентиляции и кондиционирования. C 1981 года...»

«MDM - ядро гетерогенной корпоративной системы Опыт внедрения Oracle Product Hub в розничной сети МТС Александр Рогозин Заместитель ИТ директора, ЗАО Русская телефонная компания План Метафора зоопарка Проект внедрения комплексной системы управления Особенности внедрения Oracle Product Hub в гетерогенной среде 2 Зоопарку нужны животные! Какие? Редкие Красивые Чтобы бегали. летали. плавали Подавали лапу И т.д. и т.п. 3 Недостижимый идеал ЕДИНСТВЕННОЕ ЖИВОТНОЕ Просто кормить Просто содержать...»

«ОАО Трест Мосэлектротягстрой Наименование объекта: Таганско-Краснопресненская линия Московского метрополитена. Реконструкция электродепо Выхино Адрес объекта: г.Москва, Рязанский проспект, д.105 ТЕХПАСПОРТ Застройщик: ГУП Московский метрополитен Государственный заказчик: Департамент строительства города Москвы Генпроектировщик: ОАО Мосинжпроект Генподрядчик: ОАО Мосинжпроект Производитель работ: ОАО Трест Мосэлектротягстрой Издание 2 Москва 2013 Содержание Технико-экономические показатели...»






 
2014 www.av.disus.ru - «Бесплатная электронная библиотека - Авторефераты, Диссертации, Монографии, Программы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.