Order of columns in datagrid
I am populating a datagrid using an arraylist that contains objects.
The order of the columns displayed are different from that in the SQL statement. I want to be able to specify the order.
Any suggestions?
Datagrid binding
---------------------
Function fnLoadGrid(ByVal mstrSql As String)
Dim objDataLayer As New cDataLayer()
Dim arrSearchResults As New ArrayList()
Dim intI As Integer
arrSearchResults = objDataLayer.fnGetLocationSearchResults(mstrSql)
If (arrSearchResults.Count = 0) Then
MessageBox.Show("No records found!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Me.Close()
Else
dgClientSearchResults.DataSource = arrSearchResults
dgClientSearchResults.ReadOnly = True
End If
End Function
------------------------------------------------------------------------------
Writing data to object and adding object to arrayList
--------------------------------------------------------------------
Public Function fnGetClientSearchResults(ByVal mstrSQL) As ArrayList
Dim arrList As New ArrayList()
'mstrSQL = ""
mstrConnectionString = fnInitializeConnectionString()
mstrOleDbConexion = fnInitializeConnection(mstrConnectionString)
mcmdOleDbCommand = fnInitializeOleDBCommand(mstrSQL, mstrOleDbConexion)
Debug.WriteLine(mstrSQL)
mstrOleDbConexion.Open()
Dim objDataReader As OleDbDataReader = mcmdOleDbCommand.ExecuteReader()
Try
While objDataReader.Read()
Dim objClientSearchResults As New cClientSearchResults()
objClientSearchResults.mstrCompanyID = objDataReader.GetString(0)
'objClientSearchResults.mstrCaviarID = objDataReader.GetString(1)
objClientSearchResults.mstrStatus = objDataReader.GetString(2)
objClientSearchResults.mstrName = objDataReader.GetString(3)
objClientSearchResults.mstrType = objDataReader.GetString(4)
'objClientSearchResults.mstrConsolidationNumber = objDataReader.GetString(5)
objClientSearchResults.mstrAddress = objDataReader.GetString(6)
objClientSearchResults.mstrCity = objDataReader.GetString(7)
objClientSearchResults.mstrState = objDataReader.GetString(8)
objClientSearchResults.mstrPostCode = objDataReader.GetString(9)
'objClientSearchResults.mstrClientID = objDataReader.GetString(10)
arrList.Add(objClientSearchResults)
End While
Catch ex As Exception
MessageBox.Show(ex.ToString())
Finally
'Close all objects.
objDataReader.Close()
mstrOleDbConexion.Close()
End Try
Return arrList
End Function
--------------------------------------------------------------------------------
Public Class cClientSearchResults
Public mstrCompanyID As String
Public mstrCaviarID As String
Public mstrStatus As String
Public mstrName As String
Public mstrType As String
Public mstrConsolidationNumber As String
Public mstrAddress As String
Public mstrCity As String
Public mstrState As String
Public mstrPostCode As String
Public mstrClientID As String
Public ReadOnly Property CompanyID() As String
Get
Return mstrCompanyID
End Get
End Property
Public ReadOnly Property CaviarID() As String
Get
Return mstrCaviarID
End Get
End Property
Public ReadOnly Property Status() As String
Get
Return mstrStatus
End Get
End Property
Public ReadOnly Property Name() As String
Get
Return mstrName
End Get
End Property
Public ReadOnly Property Type() As String
Get
Return mstrType
End Get
End Property
Public ReadOnly Property ConsolidationNumber() As String
Get
Return mstrConsolidationNumber
End Get
End Property
Public ReadOnly Property Address() As String
Get
Return mstrAddress
End Get
End Property
Public ReadOnly Property City() As String
Get
Return mstrCity
End Get
End Property
Public ReadOnly Property State() As String
Get
Return mstrState
End Get
End Property
Public ReadOnly Property PostCode() As String
Get
Return mstrPostCode
End Get
End Property
Public ReadOnly Property ClientID() As String
Get
Return mstrClientID
End Get
End Property
End Class