Страница 1 из 1

Настройка тулбара(кнопка Save)

Добавлено: 26 ноя 2008, 09:25
AlexI
Настройка тулбара(кнопка Save)

Добрый день

При использовании StiViewerControl на тулбаре есть кнопка Save.
Тут предоставаляется возвожность сохранять отчет во множестве разных форматов(pdf, rtf, htm и т.д.).
Мне необходимо оставить возможность сохранения только в pdf и rtf.
Я сделал это так

var saveItem = this.stiViewerControl1.ToolBar.Items["tbSave"];

List itemsToDelete = new List();

for(int i = 0; i < saveItem.SubItems.Count; i++)
{
if(i != 1 && i != 6) // export to pdf ant to rtf
{
itemsToDelete.Add(saveItem.SubItems);
}
}

saveItem.SubItems.RemoveRange(itemsToDelete.ToArray());



Правильное ли это решение?
Всегда ли индексы для экспорта в pdf и rtf будут 1 и 6?

Порекомендуйте другое решение п-та.

Настройка тулбара(кнопка Save)

Добавлено: 26 ноя 2008, 13:14
Edward
Здравствуйте, Alex.

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

Код: Выделить всё

using Stimulsoft.Report.Render;
using Stimulsoft.Report;
using Stimulsoft.Base.Services;
using Stimulsoft.Report.Export;

StiConfig.Load();
StiServiceContainer services =
StiConfig.Services.GetServices(typeof(StiExportService));
foreach (StiService service in services)
{
    if (service is StiBmpExportService) service.ServiceEnabled = false;
    if (service is StiCsvExportService) service.ServiceEnabled = false;
    if (service is StiEmfExportService) service.ServiceEnabled = false;
    if (service is StiGifExportService) service.ServiceEnabled = false;
    if (service is StiHtmlExportService) service.ServiceEnabled = false;
    if (service is StiJpegExportService) service.ServiceEnabled = false;
    if (service is StiPdfExportService) service.ServiceEnabled = false;
    if (service is StiRtfExportService) service.ServiceEnabled = false;
    if (service is StiTiffExportService) service.ServiceEnabled = false;
    if (service is StiTxtExportService) service.ServiceEnabled = false;
    if (service is StiXmlExportService) service.ServiceEnabled = false;
}
StiConfig.Save();

Спасибо.