A field or property with the name 'typnamn' was not found on the selected data
Får felmeddelandet
A field or property with the name 'typnamn' was not found on the selected datasource.
när jag försöker binda min datagrid. Fast jag har med typnamn i min sqlsats.
Vad är det som är fel???
<asp:BoundColumn DataField="typnamn" SortExpression="typnamn" HeaderText="TYP"></asp:BoundColumn>
Här är funktione som returnerar infon.
Public Function GetObjekts(ByVal dbconnection As String) As ArrayList
cn.Open()
Dim sql As String = "SELECT objekt.id,Datum,Namn,objekt.Typ as typid,objekt.Omrade,rum.rum,Storlek,Balkonger,Stranden,Stad,KortText,LangText,pris,sprak,publicera, typer.typ as typnamn, omraden.omrade, rum.id from objekt inner join Typer on objekt.typ=typer.id inner join omraden on omraden.id =objekt.omrade inner join rum on objekt.rum = rum.id ORDER BY objekt.id,datum desc"
cmd.CommandText = (sql)
Dim objReader As MySqlDataReader = cmd.ExecuteReader()
' create the ArrayList that the method will return
Dim alList As New ArrayList
While objReader.Read()
' create a new objekt object
Dim objekt As New ObjektLogic.objekt(dbconnection)
'Dim typ As New ObjektLogic.typ(dbconnection)
' assign the database values to the object's properties
objekt.id = objReader.GetInt32(0)
objekt.datum = objReader.GetDateTime(1)
objekt.namn = objReader.GetString(2)
objekt.typref.id = objReader.GetInt32(3)
objekt.omradeID = objReader.GetInt32(4)
objekt.rum = objReader.GetString(5)
objekt.storlek = objReader.GetString(6)
objekt.balkonger = objReader.GetString(7)
objekt.stranden = objReader.GetString(8)
objekt.stad = objReader.GetString(9)
objekt.kortText = objReader.GetString(10)
objekt.langtext = objReader.GetString(11)
objekt.pris = objReader.GetDouble(12)
objekt.sprak = objReader.GetInt32(13)
objekt.publicera = objReader.GetBoolean(14)
objekt.typref.typ = objReader.GetString(15)
objekt.omrade = objReader.GetString(16)
objekt.rumID = objReader.GetInt32(17)
' add the objekt object to the ArrayList
alList.Add(objekt)
End While
objReader.Close()
cn.Close()
' return the finished ArrayList with objekt objects
Return alList
End Function
Svara
Sv: A field or property with the name 'typnamn' was not found on the selected
... Kollar, skrev fel i mitt förra svar här... tror du gör nått fel...
Mvh Johan
Svara
Sv:A field or property with the name 'typnamn' was not found on the selected
Ditt objekt är den du binder va? denna har inget typnman så den hittas inte pga detta.
Mvh Johan
Svara
Sv:A field or property with the name 'typnamn' was not found on the selected
Johan,
Har kollat det..
The objects in an array
must have public properties if they are to be bound to a DataGrid.
Har det något med detta att göra????
Men förstår inte riktigt vad jag skall göra???
The objects in an array
must have public properties if they are to be bound to a DataGrid.
this is a "feature" of Datagrids.
This article...
http://msdn.microsoft.com/library/en-us/dnexxml/html/xml01202003.asp
primarily deals with XMl serialization but if you scroll 40% down you will
find a discussion of the phenomenon you describe. The objects in an array
must have public properties if they are to be bound to a DataGrid.
The article describes an approach to solving this - manually editing the
types.
Here is another approach that wraps the public fields with public
properties:
http://www.winisp.net/cheeso/srcview.aspx?file=MorphArray.cs
Svara
Sv: A field or property with the name 'typnamn' was not found on the selected
Hej,
Du gör nått här jag inte är med på vad du gör.
ObjektLogic.objekt?
Mvh Johan
Svara
Sv:A field or property with the name 'typnamn' was not found on the selected
hej!
Skapar ett objekt som heter lite dumt "objekt".
detta "objekt" skapar sedan ett objekt som heter typref.
detta är när jag skall binda detta objekt till datagriden som det inte funkar.
kan jag inte skriva typref.id i datafield????
<asp:BoundColumn DataField="typref.id" HeaderText="TYP"></asp:BoundColumn>
Public class objekt
Private m_typref As typer
Public Sub New(ByVal DBConnection As String)
MyBase.New(DBConnection)
m_typref = New ObjektLogic.typer(DBConnection)
PopulateDefault(typref)
End Sub
Public Property typref() As typer
Get
Return m_typref
End Get
Set(ByVal Value As typer)
m_typref = Value
End Set
End Property
end class
Public Class typer
Inherits BaseData
Private m_id As Integer
Private m_typ As String
Public Sub New(ByVal DBConnection As String)
MyBase.New(DBConnection)
End Sub
Public Property id() As Integer
Get
Return m_id
End Get
Set(ByVal Value As Integer)
m_id = Value
End Set
End Property
Public Property typ() As String
Get
Return m_typ
End Get
Set(ByVal Value As String)
m_typ = Value
End Set
End Property
end class
Svara
Sv: A field or property with the name 'typnamn' was not found on the selected
Du skall inte behöva skriva <objnamn>.Id utan bara id. Men du måste vara säker på
att det objekt som ligger i ArrayListen verkligen har denna property och att den har en
get och inte bara en set.
Sedan skll det inta vara några problem som jag ser det. Felet du får är just att den inte hittar din property, detta beror på att du angav typnamn som inte fanns i Object eller har jag fel?
Mvh Johan
Svara
Sv:A field or property with the name 'typnamn' was not found on the selected
Måste jag skapa variabler för varje egenskap i classen typer i mitt huvudobjekt "objekt" för att komma åt dessa i objektet. Eller räcker det med en referens till classen typer. Det är nog detta som inte stämmer riktigt tror jag. Nu har jag bara en variabel som är kopplat till classen typer men då kommer jag inte åt egenskaperna i classen typer från datagriden när jag binder mitt objekt.
public class objekt
private m_typref as typer
end class
Public Class typer
Inherits BaseData
Private m_id As Integer
Private m_typ As String
Public Sub New(ByVal DBConnection As String)
MyBase.New(DBConnection)
End Sub
Public Property id() As Integer
Get
Return m_id
End Get
Set(ByVal Value As Integer)
m_id = Value
End Set
End Property
Public Property typ() As String
Get
Return m_typ
End Get
Set(ByVal Value As String)
m_typ = Value
End Set
End Property
Svara
Sv: A field or property with the name 'typnamn' was not found on the selected
Är lite trött nu så jag hänger inte med helt. men.
i BoundColumn skall du ange ett fält, detta namn måste vara samma som ett namn i din Objekt
så om du i Object har User så skulle du skriva User här du kan _inte_ ange ett namn som finns i din SQL fråga då du faktiskt mappar ditt resultat till ett objekt. Hade det vart ett dtaset hade det gått.
Är du med?
DataFile=<en property som finns på din Objeckt klass>
Mvh Johan
Svara
Sv:A field or property with the name 'typnamn' was not found on the selected
ok, tack för hjälpen.
Men har inte förstått hur man kan skapa ett objekt i ett annat objekt och komma åt alla dessa egenskaperna i en datagrid från "huvudobjektet". Om det nu går???
Svara
Sv: A field or property with the name 'typnamn' was not found on the selected
Du skall nog ange _ och inte . då.
<objekt>_<property>
Mvh Johan
Svara