2013-09-29 36 views
0

嗨我堅持我的循環將我的列表框中的所有項目傳遞給一個水晶報表參數。VB.NET獲取列表框中的所有項目並傳遞給參數

For i = 0 To ListBoxBillAccount.Items.Count - 1 
     If ListBoxBillAccount.Items(i).selected Then 
      crParameterDiscreteValue = New ParameterDiscreteValue() 
      crParameterDiscreteValue.Value = ListBoxBillAccount.SelectedItems() 
      crParameterValues.Add(crParameterDiscreteValue) 
     End If 
    Next 

我收到一個錯誤:「找不到類型爲'DataRowView'的公共成員'。

編輯:這是我的全碼:

Dim crParameterFieldDefinitions As ParameterFieldDefinitions 
    Dim crParameterFieldDefinition As ParameterFieldDefinition 
    Dim crParameterValues As New ParameterValues 
    Dim crParameterDiscreteValue As New ParameterDiscreteValue 
    crParameterFieldDefinitions = crReportDoc.DataDefinition.ParameterFields 
    crParameterFieldDefinition = crParameterFieldDefinitions("UserAcct") 
    crParameterValues = crParameterFieldDefinition.CurrentValues 

    For i = 0 To ListBoxBillAccount.Items.Count - 1 
     If ListBoxBillAccount.Items(i).selected Then 
      crParameterDiscreteValue = New ParameterDiscreteValue() 
      crParameterDiscreteValue.Value = ListBoxBillAccount.SelectedItems() 
      crParameterValues.Add(crParameterDiscreteValue) 
     End If 
    Next 

    crParameterFieldDefinition.ApplyCurrentValues(crParameterValues) 
    frmGenerateConsolidatedBill.CrystalReportViewer1.ReportSource = crReportDoc 
    frmGenerateConsolidatedBill.Refresh() 
    frmGenerateConsolidatedBill.Show() 

回答

0

也許:

For Each obj In ListBoxBillAccount.SelectedItems() 
    Dim crParameterDiscreteValue = New ParameterDiscreteValue() 
    crParameterDiscreteValue.Value = obj 
    crParameterValues.Add(crParameterDiscreteValue) 
Next 
+0

我試着將你的代碼,但我遇到了一個錯誤:值沒有在預期範圍之內。 – Sishan

+0

@Sishan:'crParameterValues'是另一個'ListBox'誰已經包含該對象? –

+0

不,先生。這是一個水晶報表變量。 – Sishan

相關問題