2015-10-15 5 views
2

Я использую vb.net и Reportviewer для создания отчета. Мне нужно программно скрыть строку в зависимости от того, установлен флажок или нет. (Простая инструкция if).Скрыть/показать строку программно в отчете

Как это назвать? Как мне обратиться к элементу строки reportviewer? Как мне сказать, чтобы скрыть/показать?

Спасибо заранее

+0

ли галочка перед тем л зачеркнуть отчет? Или это встроенный флажок в отчете после его создания? – equisde

+0

@equisde проверено перед загрузкой отчета –

ответ

3

Если помечено/неотмеченные перед загрузкой отчета, самый простой способ добиться этого заключается в использовании ReportParameters.

ReportParameters позволяет передавать значения в ваш отчет rdlc. После загрузки отчета вы можете определить поведение отчета на основе значений параметров.

код перед загрузкой отчета:

'Retrieve the checkbox value 
Dim isChecked as Boolean = yourCheckBox.Checked 
'Create a new parameter to send to the report 
Dim Parameters As New List(Of ReportParameter) 
Parameters.Add(New ReportParameter("CheckBoxValue", isChecked)) 
'Send parameter to the report 
ReportViewer.LocalReport.SetParameters(Parameters) 

И после того, как вы добавили код, также необходимо определить параметр в файле .rdlc, а также. Открыв файл .rdlc в Visual Studio, перейдите в меню Report и выберите Report Parameters.

Чтобы соответствовать коду, вы должны добавить параметр с именем CheckBoxValue, а затем нажмите OK, чтобы закрыть окно.

Наконец в вашем .rdlc дизайнер отчетов, вы должны выбрать текстовое поле или метку и использовать редактор выражений (щелкните правой кнопкой мыши текстовое поле/метку, которую вы хотите, чтобы показать/скрыть и выберите Expression)

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

IIf(Expression as Boolean, TruePart as Object, FalsePart as Object) 

Это может быть выражением:

IIf(Parameters!CheckBoxValue.Value = False, yourTextBox.Visible = False, yourTextBox.Visible = True) 
+0

большое спасибо. это работает. очень описательный и полезный –

+0

Вы wecome! Рад помочь – equisde

Смежные вопросы