A
Andy Eshtry
Dear Friends
I have a urgent problem to solve. I have created a class and its
collection and then bind it to a datagrid but got the following error.
Please help. Thanks in advance. Andy Eshtry
No default member found for type 'clsAgentPostalCode'
Line 44: Dim oAgentPostalCodeCollection As New
clsAgentPostalCodeCollection(lAgentID)
Line 45: dgPostalCode.DataSource = oAgentPostalCodeCollection
Line 46: dgPostalCode.DataBind()
----------------------------code in aspx
file ---------------------------------------
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
If Not Page.IsPostBack Then
dgPostalCode.DataKeyField = "AssignedPostalCodeID"
'dgPostalCode.DataSource = GetPostalCodeList()
Dim oAgentPostalCodeCollection As New
clsAgentPostalCodeCollection(lAgentID)
dgPostalCode.DataSource = oAgentPostalCodeCollection
dgPostalCode.DataBind()
End If
End Sub
--------------------clsAgentPostalCode -------------------------------------
------
Public Class clsAgentPostalCode
Public mAgentPostalCodeID As Long
Public mAssignedPostalCodeID As Long
Public mAgentID As Long
Public mAssignedPostalCode As String
Private mSelected As Boolean
Private mPrevSelected As Boolean
Public ReadOnly Property AgentPostalCodeID() As Long
Get
Return mAgentPostalCodeID
End Get
End Property
Public ReadOnly Property AgentID() As Long
Get
Return mAgentID
End Get
End Property
Public ReadOnly Property AssignedPostalCode() As String
Get
Return mAssignedPostalCode
End Get
End Property
Public ReadOnly Property AssignedPostalCodeID() As Long
Get
Return mAssignedPostalCodeID
End Get
End Property
Public Sub New(ByVal parAssignedPostalCodeID As Long, ByVal parSelected
As Boolean, _
ByVal parAssignedPostalCode As String, ByVal parAgentPostalCodeID As
Long, ByVal parAgentID
As Long)
mAgentPostalCodeID = parAgentPostalCodeID
mAssignedPostalCodeID = parAssignedPostalCodeID
mAgentID = parAgentID
mSelected = parSelected
mPrevSelected = parSelected
mAssignedPostalCode = parAssignedPostalCode
End Sub
Public Property Selected() As Boolean
Get
Return Selected
End Get
Set(ByVal Value As Boolean)
Selected = Value
End Set
End Property
End Sub
End Class
---------------------clsAgentPostalCodeCollection-----------------------
Imports System.Collections
Public Class clsAgentPostalCodeCollection
Inherits CollectionBase
Public Sub New(ByVal parAgentID As Long)
Dim sConStr As String
Dim oConfSetting As ConfigurationSettings
sConStr = oConfSetting.AppSettings("ConStr").ToString()
Dim Cn As SqlConnection
Dim daPostalCode As SqlDataAdapter
Dim dsPostalCode As New DataSet()
Try
Cn = New SqlConnection(sConStr)
Dim cmdSel As SqlCommand = New
SqlCommand("spAgentAssignedPostalCode", Cn)
cmdSel.CommandType = CommandType.StoredProcedure
cmdSel.Parameters.Add(New SqlParameter("@AgentID", parAgentID))
Cn.Open()
daPostalCode = New SqlDataAdapter(cmdSel)
daPostalCode.Fill(dsPostalCode, "tblPostalCode")
Cn.Close()
Dim AgentPostalCodeRow As DataRow
For Each AgentPostalCodeRow In
dsPostalCode.Tables("tblPostalCode").Rows
Dim par1 As Long =
AgentPostalCodeRow.Item("AssignedPostalCodeID")
Dim par2 As Boolean = AgentPostalCodeRow.Item("Selected")
Dim par3 As String =
AgentPostalCodeRow.Item("AssignedPostalCode")
Dim par4 As Long
If Not
IsDBNull(AgentPostalCodeRow.Item("AgentPostalCodeID")) Then
par4 = AgentPostalCodeRow.Item("AgentPostalCodeID")
Else
par4 = 0
End If
Dim par5 As Long
If Not IsDBNull(AgentPostalCodeRow.Item("ID_Agent")) Then
par5 = AgentPostalCodeRow.Item("ID_Agent")
Else
par5 = 0
End If
Dim AgentPostalCodeItem As New clsAgentPostalCode(par1,
par2, par3, par4, par5)
Add(AgentPostalCodeItem)
Next
Catch ex As Exception
Throw ex
End Try
End Sub
Public Sub Add(ByVal AgentPostalCodeItem As clsAgentPostalCode)
List.Add(AgentPostalCodeItem)
End Sub
Public Sub Remove(ByVal index As Integer)
If (index > Count - 1 Or index < 0) Then
Else
List.RemoveAt(index)
End If
End Sub
Public Function Item(ByVal Index As Integer) As clsAgentPostalCode
Return CType(List(Index), clsAgentPostalCode)
End Function
Public ReadOnly Property Length() As Long
Get
Return List.Count
End Get
End Property
Public Function Find(ByVal id As Long) As clsAgentPostalCode
Dim AgentPostalCodeItem As clsAgentPostalCode
For Each AgentPostalCodeItem In InnerList
If AgentPostalCodeItem.AgentPostalCodeID = id Then
Return AgentPostalCodeItem
End If
Next
Return Nothing
End Function
End Class
I have a urgent problem to solve. I have created a class and its
collection and then bind it to a datagrid but got the following error.
Please help. Thanks in advance. Andy Eshtry
No default member found for type 'clsAgentPostalCode'
Line 44: Dim oAgentPostalCodeCollection As New
clsAgentPostalCodeCollection(lAgentID)
Line 45: dgPostalCode.DataSource = oAgentPostalCodeCollection
Line 46: dgPostalCode.DataBind()
----------------------------code in aspx
file ---------------------------------------
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
If Not Page.IsPostBack Then
dgPostalCode.DataKeyField = "AssignedPostalCodeID"
'dgPostalCode.DataSource = GetPostalCodeList()
Dim oAgentPostalCodeCollection As New
clsAgentPostalCodeCollection(lAgentID)
dgPostalCode.DataSource = oAgentPostalCodeCollection
dgPostalCode.DataBind()
End If
End Sub
--------------------clsAgentPostalCode -------------------------------------
------
Public Class clsAgentPostalCode
Public mAgentPostalCodeID As Long
Public mAssignedPostalCodeID As Long
Public mAgentID As Long
Public mAssignedPostalCode As String
Private mSelected As Boolean
Private mPrevSelected As Boolean
Public ReadOnly Property AgentPostalCodeID() As Long
Get
Return mAgentPostalCodeID
End Get
End Property
Public ReadOnly Property AgentID() As Long
Get
Return mAgentID
End Get
End Property
Public ReadOnly Property AssignedPostalCode() As String
Get
Return mAssignedPostalCode
End Get
End Property
Public ReadOnly Property AssignedPostalCodeID() As Long
Get
Return mAssignedPostalCodeID
End Get
End Property
Public Sub New(ByVal parAssignedPostalCodeID As Long, ByVal parSelected
As Boolean, _
ByVal parAssignedPostalCode As String, ByVal parAgentPostalCodeID As
Long, ByVal parAgentID
As Long)
mAgentPostalCodeID = parAgentPostalCodeID
mAssignedPostalCodeID = parAssignedPostalCodeID
mAgentID = parAgentID
mSelected = parSelected
mPrevSelected = parSelected
mAssignedPostalCode = parAssignedPostalCode
End Sub
Public Property Selected() As Boolean
Get
Return Selected
End Get
Set(ByVal Value As Boolean)
Selected = Value
End Set
End Property
End Sub
End Class
---------------------clsAgentPostalCodeCollection-----------------------
Imports System.Collections
Public Class clsAgentPostalCodeCollection
Inherits CollectionBase
Public Sub New(ByVal parAgentID As Long)
Dim sConStr As String
Dim oConfSetting As ConfigurationSettings
sConStr = oConfSetting.AppSettings("ConStr").ToString()
Dim Cn As SqlConnection
Dim daPostalCode As SqlDataAdapter
Dim dsPostalCode As New DataSet()
Try
Cn = New SqlConnection(sConStr)
Dim cmdSel As SqlCommand = New
SqlCommand("spAgentAssignedPostalCode", Cn)
cmdSel.CommandType = CommandType.StoredProcedure
cmdSel.Parameters.Add(New SqlParameter("@AgentID", parAgentID))
Cn.Open()
daPostalCode = New SqlDataAdapter(cmdSel)
daPostalCode.Fill(dsPostalCode, "tblPostalCode")
Cn.Close()
Dim AgentPostalCodeRow As DataRow
For Each AgentPostalCodeRow In
dsPostalCode.Tables("tblPostalCode").Rows
Dim par1 As Long =
AgentPostalCodeRow.Item("AssignedPostalCodeID")
Dim par2 As Boolean = AgentPostalCodeRow.Item("Selected")
Dim par3 As String =
AgentPostalCodeRow.Item("AssignedPostalCode")
Dim par4 As Long
If Not
IsDBNull(AgentPostalCodeRow.Item("AgentPostalCodeID")) Then
par4 = AgentPostalCodeRow.Item("AgentPostalCodeID")
Else
par4 = 0
End If
Dim par5 As Long
If Not IsDBNull(AgentPostalCodeRow.Item("ID_Agent")) Then
par5 = AgentPostalCodeRow.Item("ID_Agent")
Else
par5 = 0
End If
Dim AgentPostalCodeItem As New clsAgentPostalCode(par1,
par2, par3, par4, par5)
Add(AgentPostalCodeItem)
Next
Catch ex As Exception
Throw ex
End Try
End Sub
Public Sub Add(ByVal AgentPostalCodeItem As clsAgentPostalCode)
List.Add(AgentPostalCodeItem)
End Sub
Public Sub Remove(ByVal index As Integer)
If (index > Count - 1 Or index < 0) Then
Else
List.RemoveAt(index)
End If
End Sub
Public Function Item(ByVal Index As Integer) As clsAgentPostalCode
Return CType(List(Index), clsAgentPostalCode)
End Function
Public ReadOnly Property Length() As Long
Get
Return List.Count
End Get
End Property
Public Function Find(ByVal id As Long) As clsAgentPostalCode
Dim AgentPostalCodeItem As clsAgentPostalCode
For Each AgentPostalCodeItem In InnerList
If AgentPostalCodeItem.AgentPostalCodeID = id Then
Return AgentPostalCodeItem
End If
Next
Return Nothing
End Function
End Class