Цель: создать список для каждого параметра в отчете SSRS.Программное создание и заполнение нескольких списков в сетке
В настоящее время код работает нормально, если в отчете есть один параметр. Идея состоит в том, что я заполняю список объектов ValidValue
и добавляю метки в список. Это должно происходить для каждого параметра.
Как программно создать несколько списков, заполнить их с помощью операторов foreach
, а затем добавить их все в сетку?
Вот мой код:
ReportParameterInfoCollection parameters;
parameters = reportViewer.ServerReport.GetParameters();
List<string> labels = new List<string>();
List<ValidValue> paramList = new List<ValidValue>();
ListBox boxbox = new ListBox();
foreach (ReportParameterInfo param in parameters)
{
paramList = param.ValidValues.ToList();
labels.Clear();
boxbox.Items.Clear();
foreach (ValidValue val in paramList)
{
labels.Add(val.Label + " - " + val.Value);
}
foreach (string lab in labels)
{
boxbox.Items.Add(lab);
}
flyGrid.Children.Add(boxbox);
}
EDIT: См решение ниже. Для всех, кому интересно, я пытаюсь обойти слабый пользовательский интерфейс SSRS для параметров и реализовать собственный пользовательский интерфейс на основе того, что находится в отчете.
Что происходит, когда вы запускаете это? Ошибки? Ничего? – goobering
Похоже, вы очищаете свои списки для каждого параметра. Вам нужно будет сохранить список значений combobox, а затем, когда выбранное значение будет изменено (через привязку или события), измените метки «ValidValue». Я не могу дать вам какой-либо код, потому что я не уверен, в каком контексте вы работаете. Возможно, это будет «Список» и «Список <Список >» или 'Словарь <строка, список >' –
Ошибок не было; списки будут просто перезаписывать друг друга. Спасибо за ответ Мэтью. Я решил это по-другому, но я ценю идеи. –