c# как фильтровать отчет stimulsoft программно?

Я работаю над проектом С#. Я использовал stimulsoft для создания и отображения отчета в моем проекте. Я создаю свой отчет в программном обеспечении stimulsoft и сохраняю файл отчета по пути ...\bin\debug\reports.

это мой дизайн отчета:

введите здесь описание изображения

этот отчет показывает системных пользователей.

Теперь я хочу отфильтровать свой отчет в С#. как я могу отправить формулу для фильтрации результатов моего отчета?

это мой код для отображения отчета:

    StiReport report = new StiReport();
        report.Load(System.AppDomain.CurrentDomain.BaseDirectory + "\\reports\\userinfo.mrt");
        report.Show();

person saeed    schedule 18.12.2016    source источник
comment
В вашем вопросе отсутствует важная информация. Во-первых, какую версию Stimulsoft вы используете? (WPF, WinForms, ASP.NET или...) Во-вторых, какой источник вы используете для своих данных? (Источник данных, BusinessObjects или...)   -  person Steve    schedule 18.12.2016
comment
@Steve, я использовал WinForms и EntityFramework   -  person saeed    schedule 18.12.2016
comment
Нет, я спрашиваю о выборе DataSource/BusinessObject, сделанного в конструкторе отчетов для создания словаря, используемого для подготовки полей отчета.   -  person Steve    schedule 18.12.2016
comment
Однако, если вы посмотрите на их файл часто задаваемых вопросов для NET-программистов, вы легко найдете строки о передаче параметра в запрос sql, используемый для создания источника данных.   -  person Steve    schedule 18.12.2016
comment
@Steve, извините за мой ответ, я использовал источник данных для подключения к базе данных.   -  person saeed    schedule 18.12.2016


Ответы (1)


Этот пример частично взят из их файла Stimulsoft_NET_FAQ.pdf

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

SELECT * from Users WHERE userID  =  @userID

то вы передаете этот параметр перед вызовом Show

StiReport report = new StiReport();
report.Load(.... your file....));
report.Dictionary.Databases.Clear();
StiSqlDatabase db = new StiSqlDatabase("the_name_of_datasource", "the connection string");
report.Dictionary.Databases.Add(db);
report.CacheAllData = true;
report.Dictionary.Synchronize();
report.Compile();
// Finally set the parameter
report["@userID"] = 1; // <= value to search for....
report.Show(true);

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

person Steve    schedule 18.12.2016