Я работаю с Win формы и VB.NetПроверить Listbox возвращение System.DataRow - VB.Net
Private Sub LoadPackageNames()
lbPackageName.ValueMember = "Value"
lbPackageName.DisplayMember = "Label"
lbPackageName.DataSource = ReportRunner.GetReportPackages()
End Sub
Private Sub lbPackageName_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lbPackageName.SelectedIndexChanged
lbRunTime.DisplayMember = "Label"
lbRunTime.ValueMember = "Value"
lbRunTime.DataSource = ReportRunner.GetReportTimes(lbPackageName.SelectedValue)
clbReportName.DisplayMember = "Label"
clbReportName.ValueMember = "Value"
clbReportName.DataSource = ReportRunner.GetReportNames(lbPackageName.SelectedValue)
End Sub
код прост. Нажав на различные параметры в списке lbPackageName, я получаю разные результаты. Иногда я получаю значения, ожидаемые в clbReportName, иногда я получаю System.Data.DataRow. lbPackageName и lbRunTimes, на данный момент, всегда заполняются правильно.
Есть ли что-то иное в чек-листах?
Вот запрос, который получает возвращенное как DataTable
SELECT A.ReportName AS Label, A.ReportName AS Value
FROM ReportRunnerPackageToReportAssociation A
WHERE A.PackageName = @PackageName
Интересная находка: Иногда DisplayMember создается обратно пустым?
* Где * и * как * вы получаете результаты? Как связан список ваших «отчетов»? – Crono
Когда вызывается форму загрузки LoadPackageNames, я вижу результаты в самой форме – Mike
Вам нужно будет показать нам функцию GetReportNames. – LarsTech