Får felmeddelandet ... Kollar, skrev fel i mitt förra svar här... tror du gör nått fel... Ditt objekt är den du binder va? denna har inget typnman så den hittas inte pga detta. Johan, Hej, hej! Du skall inte behöva skriva <objnamn>.Id utan bara id. Men du måste vara säker på 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. Är lite trött nu så jag hänger inte med helt. men. ok, tack för hjälpen. Du skall nog ange _ och inte . då. A field or property with the name 'typnamn' was not found on the selected data
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 FunctionSv: A field or property with the name 'typnamn' was not found on the selected
Mvh JohanSv:A field or property with the name 'typnamn' was not found on the selected
Mvh JohanSv:A field or property with the name 'typnamn' was not found on the selected
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.csSv: A field or property with the name 'typnamn' was not found on the selected
Du gör nått här jag inte är med på vad du gör.
ObjektLogic.objekt?
Mvh JohanSv:A field or property with the name 'typnamn' was not found on the selected
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 classSv: A field or property with the name 'typnamn' was not found on the selected
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 JohanSv:A field or property with the name 'typnamn' was not found on the selected
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 PropertySv: A field or property with the name 'typnamn' was not found on the selected
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 JohanSv:A field or property with the name 'typnamn' was not found on the selected
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???Sv: A field or property with the name 'typnamn' was not found on the selected
<objekt>_<property>
Mvh Johan