1 Replies - 576 Views - Last Post: 13 April 2012 - 08:58 AM Rate Topic: -----

#1 nighttrain  Icon User is offline

  • D.I.C Head

Reputation: 5
  • View blog
  • Posts: 228
  • Joined: 22-September 10

SelectedValue of dropdownlists problem when populating

Posted 12 April 2012 - 12:51 AM

On my page I got 2xdropdownlist's controls and reportviewer control.

I clear items and populate two dropdownlists:

Public Sub PopulatedropDownControls()

        DropDownList1.Items.Clear()
        DropDownList2.Items.Clear()
        
		DropDownList1.Items.Add("2008-11-27 14:24:11")
        DropDownList2.Items.Add("2008-12-03 14:24:11")

    End Sub
	


I got button click event:

	Protected Sub btnReportStart_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnReportStart.Click
        ProceedReport()
    End Sub
	


ProceedReport:

	Dim cryRpt As New ReportDocument()
            cryRpt.Load("D:\Documents and Settings\rrobakie\Desktop\LeNSE Performance\CrystalReport.rpt")

            Dim crParameterFieldDefinitions As ParameterFieldDefinitions
            Dim crParameterFieldDefinition As ParameterFieldDefinition
            Dim crParameterValues As New ParameterValues()
            Dim crParameterDiscreteValue As New ParameterDiscreteValue()

            'crParameterDiscreteValue.Value = TextBox1.Text
            crParameterDiscreteValue.Value = DropDownList1.SelectedValue

            crParameterFieldDefinitions = cryRpt.DataDefinition.ParameterFields
            crParameterFieldDefinition = crParameterFieldDefinitions("StartDate")
            crParameterValues = crParameterFieldDefinition.CurrentValues

            Dim crParameterFieldDefinitions2 As ParameterFieldDefinitions
            Dim crParameterFieldDefinition2 As ParameterFieldDefinition
            Dim crParameterValues2 As New ParameterValues()
            Dim crParameterDiscreteValue2 As New ParameterDiscreteValue()

            'crParameterDiscreteValue2.Value = TextBox2.Text
            crParameterDiscreteValue2.Value = DropDownList2.SelectedValue
            crParameterFieldDefinitions2 = cryRpt.DataDefinition.ParameterFields
            crParameterFieldDefinition2 = crParameterFieldDefinitions2("EndDate")
            crParameterValues2 = crParameterFieldDefinition2.CurrentValues

            crParameterValues.Clear()
            crParameterValues.Add(crParameterDiscreteValue)
            crParameterValues2.Add(crParameterDiscreteValue2)
            crParameterFieldDefinition.ApplyCurrentValues(crParameterValues)
            crParameterFieldDefinition2.ApplyCurrentValues(crParameterValues2)

            CrystalReportViewer1.ReportSource = cryRpt
            
            CrystalReportViewer1.Visible = True
			


On form load:
Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Load

        CrystalReportViewer1.Visible = False
        PopulatedropDownControls()

    End Sub



The problem is when i choose date from dropdown and click button then dates are not send to report parameters because the dropdownlists are
populated. If I cut this two lines:
DropDownList1.Items.Clear()
        DropDownList2.Items.Clear()
        
		

Then it's working, but I always got duplicate dates populated in dropdpwnlists. How to handle this issue?

Is This A Good Question/Topic? 0
  • +

Replies To: SelectedValue of dropdownlists problem when populating

#2 Nakor  Icon User is offline

  • Professional Lurker
  • member icon

Reputation: 431
  • View blog
  • Posts: 1,452
  • Joined: 28-April 09

Re: SelectedValue of dropdownlists problem when populating

Posted 13 April 2012 - 08:58 AM

My syntax may be slightly off on the EndIf (might be End If?)
since I normally work in C# and i'm doing this from memory. Basically we only want to add the items to the dropdownlists if they do not already contain an item. Another method would be to create a ListItem using the values and check the dropdownlist for the existance of the ListItem.

    Public Sub PopulatedropDownControls()

        If DropDownList1.Items.Count = 0 Then
            DropDownList1.Items.Add("2008-11-27 14:24:11")
        EndIf

        If DropDownList2.Items.Count = 0 Then
            DropDownList2.Items.Add("2008-12-03 14:24:11")
        EndIf
    End Sub


Was This Post Helpful? 0
  • +
  • -

Page 1 of 1