Solved

VB.Net How to refer to elements in an array list

Posted on 2010-09-06
3
633 Views
Last Modified: 2013-11-27
I require the correct syntax to enable me retrieve values of elements from an ArrayList.

The ArrayList is a list of Customer objects each of which has IDCustomer, CustomerName and CustomerOrders.

In the forms class I use
Public Class frmPreAlert
  ' Create a new ArrayList to hold the Customer objects.
  Private customerArray As New ArrayList()

I fill the Customer array with:

' Get Customer references
   reader1 = cmd1.ExecuteReader()
   While reader1.Read()
       lngIDCompany = reader1("IDCompany")
       strCompanyName = reader1("CompanyName")
      customerArray.Add(New Customer(reader1("IDCompany"), reader1("CompanyName")))
   End While

Later in the sub I want to read the contents of customerArray by For Each loop:
' Add IDPreAlerts to each Order in Customer object in the ArrayList.
   Dim customer1 As Customer
   For Each customer1 In customerArray

      lngIDCompany = *** This is where I need the value of IDCustomer ***
                     <snip>
   Next customer1

Just can't get on with VS2010 help.
' Customer CLASS



Public Class Customer Inherits [Object]

    Private idComp As Long

    Private custName As String = ""

    Friend custOrders As New ArrayList()



Public Sub New(ByVal idcompany As Long, ByVal customername As String)

        Me.idComp = idcompany

        Me.custName = customername

End Sub



Public Property CustomerName() As String

        Get

            Return Me.custName

        End Get

        Set(ByVal Value As String)

            Me.custName = Value

        End Set

End Property



Public Property CustomerID() As Long

        Get

            Return Me.idComp

        End Get

        Set(ByVal Value As Long)

            Me.idComp = Value

        End Set

End Property



Public ReadOnly Property CustomerOrders() As ArrayList

		Get

			Return Me.custOrders

		End Get

End Property

End Class 'End Customer class





Public Class Order

	Inherits [Object]

	Private ordID As String



Public Sub New(ByVal orderid As String)

		Me.ordID = orderid

End Sub 'New



Public Property OrderID() As String

		Get

			Return Me.ordID

		End Get

		Set(ByVal Value As String)

			Me.ordID = Value

		End Set

End Property

End Class ' End Order class

Open in new window

0
Comment
Question by:TeDeSm
3 Comments
 
LVL 53

Accepted Solution

by:
Dhaest earned 250 total points
Comment Utility
As far as I can see it, you can use:

customer1.CustomerID

(by the way, I would suggest to change your names in the class, because it's very confusing right now

You store the IDCompany into the private variable idComp, which you can retrieve back through CustomerID)
0
 
LVL 42

Assisted Solution

by:sedgwick
sedgwick earned 250 total points
Comment Utility
according to your posted code you have public CustomerID property in the Customer class, so the following should work:  For Each cust In customerArray      lngIDCompany = cust.CustomerID    Next cust
0
 

Author Closing Comment

by:TeDeSm
Comment Utility
Thanks for your help. I do have some renaming to do as the code is being re-used from elsewhere.
0

Featured Post

Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

Join & Write a Comment

Suggested Solutions

In my previous two articles we discussed Binary Serialization (http://www.experts-exchange.com/A_4362.html) and XML Serialization (http://www.experts-exchange.com/A_4425.html). In this article we will try to know more about SOAP (Simple Object Acces…
Many of us here at EE write code. Many of us write exceptional code; just as many of us write exception-prone code. As we all should know, exceptions are a mechanism for handling errors which are typically out of our control. From database errors, t…
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
You have products, that come in variants and want to set different prices for them? Watch this micro tutorial that describes how to configure prices for Magento super attributes. Assigning simple products to configurable: We assigned simple products…

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now