как сделать динамический и интерактивный отчет с помощью Developer Express Reporting?

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

Мне интересно, можно ли добавить кнопку редактирования в отчет, чтобы пользователи могли выбрать клиента из списка клиентов, отображаемого в окне редактирования поиска? или добавить текстовое редактирование, чтобы пользователи могли, например, указать цену продукта?

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

я попытался добавить некоторые элементы управления winform в winContainer, но элементы управления не показывают интерактивности, кнопки не могут быть нажаты, и я не могу ничего написать в текстовом поле.


person hich    schedule 21.08.2014    source источник


Ответы (2)


Вы можете использовать Report Parameters.
Вот пример:

var list = new List<Tuple<string>>();
list.Add(Tuple.Create("String 1"));
list.Add(Tuple.Create("String 2"));
list.Add(Tuple.Create("String 3"));

var itemLabel = new XRLabel();
itemLabel.DataBindings.Add(new XRBinding("Text", null, "Item1"));

var parameter = new Parameter();
parameter.Name = "UserText";
parameter.Type = typeof(string);
parameter.Value = "User text";
parameter.Description = "Enter Text: ";
parameter.Visible = true;

var parameterLabel = new XRLabel();
parameterLabel.DataBindings.Add(new XRBinding(parameter, "Text", ""));
parameterLabel.TopF = 15;

var detail = new DetailBand();
detail.Controls.Add(itemLabel);
detail.Controls.Add(parameterLabel);

var report = new XtraReport();
report.DataSource = list;
report.Parameters.Add(parameter);
report.Bands.Add(detail);

var tool = new ReportPrintTool(report);
tool.ShowRibbonPreview();

И в результате кода выше вы увидите панель Parameters: Панель параметров

person nempoBu4    schedule 22.08.2014

Вы будете использовать класс XRDesignRibbonForm.

XRDesignRibbonForm designForm = new XRDesignRibbonForm();
XtraReport yourReport = new XtraReport();

designForm.OpenReport(yourReport);
designForm.ShowDialog();

* Конечные пользователи редактируют отчет, и когда они нажимают кнопку «Сохранить», они сохраняют файл *.repx.

Затем вы можете показать отредактированный отчет с этим кодом

XtraReport rr = XtraReport.FromFile("TheRepxFilePath", true);
ReportPrintTool printTool = new ReportPrintTool(rr);
printTool.ShowRibbonPreview();

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

person George Vovos    schedule 21.08.2014
comment
Я не знаю, возможно ли это, но я не хочу давать конечным пользователям полную свободу редактирования отчета через дизайнер, я просто хочу, чтобы они редактировали его через поля (кнопки, текстовые правки), которые я указываю. это похоже на заполнение формы (в режиме предварительного просмотра). - person hich; 21.08.2014
comment
Вы можете установить для свойства LockedInUserDesigner всех элементов управления значение True, а затем установить для него значение False для редактируемых элементов управления. - person George Vovos; 21.08.2014