Solved

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

Posted on 2010-09-06
3
636 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
ID: 33611103
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
ID: 33611114
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
ID: 33611219
Thanks for your help. I do have some renaming to do as the code is being re-used from elsewhere.
0

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
With the power of JIRA, there's an unlimited number of ways you can customize it, use it and benefit from it. With that in mind, there's bound to be things that I wasn't able to cover in this course. With this summary we'll look at some places to go…
Learn how to create flexible layouts using relative units in CSS.  New relative units added in CSS3 include vw(viewports width), vh(viewports height), vmin(minimum of viewports height and width), and vmax (maximum of viewports height and width).

896 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