Произвольная настройка кнопки Сохранить
Произвольная настройка кнопки Сохранить
Добрый день!
Скажите, пожалуйста, есть ли возможность какими-либо свойствами указать какие именно пункты меню будут показаны в выпадающем списке при нажатии кнопки "Сохранить" (в компоненте StiPreview)? Конкретно в данный момент нас интересует "Data file...".
Скажите, пожалуйста, есть ли возможность какими-либо свойствами указать какие именно пункты меню будут показаны в выпадающем списке при нажатии кнопки "Сохранить" (в компоненте StiPreview)? Конкретно в данный момент нас интересует "Data file...".
Re: Произвольная настройка кнопки Сохранить
Здравствуйте, Леонид
Вы можете использовать следующий код:
или для отключения полность пункта "Data file...":
Спасибо.
Вы можете использовать следующий код:
Код: Выделить всё
StiOptions.Viewer.Windows.Exports.ShowDbf = false;
StiOptions.Viewer.Windows.Exports.ShowCsv = false;
Код: Выделить всё
StiOptions.Viewer.Windows.Exports.ShowData = false;
Re: Произвольная настройка кнопки Сохранить
Всё сработало!
Огромное спасибо!
Огромное спасибо!
Re: Произвольная настройка кнопки Сохранить
Здравствуйте,
Всегда рады помочь!
Дайте знать, если будут еще вопросы.
Спасибо.
Всегда рады помочь!
Дайте знать, если будут еще вопросы.
Спасибо.
Re: Произвольная настройка кнопки Сохранить
Добрый вечер!
Можно ли при экспорте в Excel программно установить "Разрешение изображения" в 200 DPI?
Что-то, как вы показывали StiOptions.Viewer.Windows.Exports.JpegDPI = 200;
Можно ли при экспорте в Excel программно установить "Разрешение изображения" в 200 DPI?
Что-то, как вы показывали StiOptions.Viewer.Windows.Exports.JpegDPI = 200;
Re: Произвольная настройка кнопки Сохранить
Здравствуйте.
Для этого вам надо использовать StiExcelExportSettings.
Установите значение ImageResolution.
Спасибо.
Для этого вам надо использовать StiExcelExportSettings.
Установите значение ImageResolution.
Спасибо.
Re: Произвольная настройка кнопки Сохранить
Доброе утро!
Так и не понял, как использовать эти настройки.
Пробовал гуглить в форуме, нашёл путь, который нам не подходит, т.к. он меняет OpenDialog:
Пробовал также такой способ:
и так
Почему-то не получается.
Суть такая. Нам нужно вызывать стандартный диалогExcel файла, но с изменёнными настройками ImageResolution равной 200, и ImageQuality равной 75%.
Подскажите, как это сделать?
Так и не понял, как использовать эти настройки.
Пробовал гуглить в форуме, нашёл путь, который нам не подходит, т.к. он меняет OpenDialog:
Код: Выделить всё
StiPreviewForm form = new StiPreviewForm(report);
form.ViewerControl.ProcessExport += new EventHandler(ViewerControl_ProcessExport);
report.Render();
form.ShowDialog();
private void ViewerControl_ProcessExport(object sender, EventArgs e)
{
if (sender is StiExcelExportService)
{
StiExcelExportSettings settings = new StiExcelExportSettings();
settings.ImageResolution = 200;
settings.ImageQuality = 0.75f;
string myFileName = "D:\\MyFile.xls";
report.ExportDocument(StiExportFormat.Excel, myFileName, settings);
Process.Start(string.Format("\"{0}\"", myFileName));
}
else
{
(sender as StiExportService).Export(report);
}
}
Код: Выделить всё
StiSettings.Set("StiExcelExportSetupForm", "ImageResolution", 200);
StiSettings.Set("StiExcelExportSetupForm", "ImageQuality", 0.75f);
Код: Выделить всё
StiSettings.Set("StiExcelSetupForm", "ImageResolution", 200);
StiSettings.Set("StiExcelSetupForm", "ImageQuality", 0.75f);
Суть такая. Нам нужно вызывать стандартный диалогExcel файла, но с изменёнными настройками ImageResolution равной 200, и ImageQuality равной 75%.
Подскажите, как это сделать?
Re: Произвольная настройка кнопки Сохранить
Здравствуйте, Леонид
Нашли некоторые нюансы с заданием свойств для диалоговой формы через StiSettings (возникли после переработки форм). Для ImageResolution требуется задавать индекс, а не само значение. Пожалуйста, попробуйте использовать следующий код
Через StiExcelExportSettings вы можете задавать любые значения.
Дайте знать, если будут еще вопросы.
Спасибо.
Нашли некоторые нюансы с заданием свойств для диалоговой формы через StiSettings (возникли после переработки форм). Для ImageResolution требуется задавать индекс, а не само значение. Пожалуйста, попробуйте использовать следующий код
Код: Выделить всё
StiSettings.Set("StiExcelSetupForm", "ImageResolution", 5);
StiSettings.Set("StiExcelSetupForm", "ImageQuality", "75");
Дайте знать, если будут еще вопросы.
Спасибо.
Re: Произвольная настройка кнопки Сохранить
Итак, с трудом разобрался, т.к. вы не указали, как и где использовать этот код. Сейчас поясню, для тех, кому понадобится.
Вот такой код будет работать, строго после вызова метода .Render()
Для ImageResolution указываем индекс из ComboBox'а (Кнопка Сохранить->Файл Excel.../Разрешение изображения):
0 == 10, 1 == 25, 2 == 50, 3 == 75, 4 == 100, 5 == 200, 6 == 300, 7 == 400, 8 == 500.
Ещё один важный момент по поводу как раз-таки индексов. Когда я этого не знал и выполнил вот такой код, то потом при нажатии кнопки "Сохранить->Файл Excel..." потом получал странного вида Exception, что-то вроде "SelectedIndex == 200 was not found".
С помощью небезызвестной утилиты Procmon от SysInternals выяснил, что по адресу на локальном диске (в моём случае это C:\Users\leon\AppData\Local\Stimulsoft\) в файле Stimulsoft.Report.settings появилась строка вида:
Что и приводило к Exception'у, но только на локальном компьютере для разработки, у пользователей такого файла не было, и соответственно было всё нормально. Имейте это в виду.
И ещё вопрос, вот, сейчас, получается установка индекса вместо значения это своего рода workaround, т.е. в следующих предрелизных билдах, вы это исправите на нужное значение, а не индекс и как это узнать? Т.е. там ведь не будет свойства deprecated, а просто будет нужное значение, и получается, что мы при обновлении будем выставлять его уже не в 200, а в 5.
Вот такой код будет работать, строго после вызова метода .Render()
Код: Выделить всё
StiSettings.Set("StiExcelSetupForm", "ImageResolution", 5);
StiSettings.Set("StiExcelSetupForm", "ImageQuality", "75"); // здесь
0 == 10, 1 == 25, 2 == 50, 3 == 75, 4 == 100, 5 == 200, 6 == 300, 7 == 400, 8 == 500.
Ещё один важный момент по поводу как раз-таки индексов. Когда я этого не знал и выполнил вот такой код
Код: Выделить всё
StiSettings.Set("StiExcelSetupForm", "ImageResolution", 200);
С помощью небезызвестной утилиты Procmon от SysInternals выяснил, что по адресу на локальном диске (в моём случае это C:\Users\leon\AppData\Local\Stimulsoft\) в файле Stimulsoft.Report.settings появилась строка вида:
Код: Выделить всё
<Category Name="StiExcelExportSetupForm">
<Item Key="ImageResolution" Value="200" Type="System.Int32" />
....
</Category>
И ещё вопрос, вот, сейчас, получается установка индекса вместо значения это своего рода workaround, т.е. в следующих предрелизных билдах, вы это исправите на нужное значение, а не индекс и как это узнать? Т.е. там ведь не будет свойства deprecated, а просто будет нужное значение, и получается, что мы при обновлении будем выставлять его уже не в 200, а в 5.
Re: Произвольная настройка кнопки Сохранить
Да, вот как ещё можно, чтобы каждый раз при нажатии кнопки "Сохранить->Файл Excel...":
Код: Выделить всё
stiPreview = new Stimulsoft.Report.Viewer.StiViewerControl();
...
stiPreview.ProcessExport += new EventHandler(ViewerControl_ProcessExport);
private void ViewerControl_ProcessExport(object sender, EventArgs e)
{
if (sender is Stimulsoft.Report.Export.StiExcelExportService)
{
// set image resolution 200 dpi (index 5 from combobox)
StiSettings.Set("StiExcelSetupForm", "ImageResolution", 5);
StiSettings.Set("StiExcelSetupForm", "ImageQuality", "75"); // set image quality
// call export dialog
(sender as Stimulsoft.Report.Export.StiExportService).Export(stiReport);
}
}