Jag har en databas med namn på personer med olika funktioner.
En är läkare en annan polis och en tredje brandman. Detta lagras i databasen som yrke (small_Int).
Nu skulle jag beroende på vilket yrke personen har visa en symbol/bild för varje yrke. ex ett kors för läkare och en flamma för en brandman osv.
Då måste jag ju manipulera med min "data" innan den skickas till gridviewn.
Önskekod:
När data hämtas eller gridviewn fylls:
fyllGridview.row(x).cell(2) = set_yrke(rs("yrke"))
Private Function set_yrke(byVal y as integer) As String
Select case y
case 1
Return "<img src=""doktor.gif"">"
case 2
Return "<img src=""polis.gif"">"
case 3
Return "<img src=""brandman.gif"">"
'osv
End select
End Function
Hur gör jag detta?
(OT: Ja, ASP och VB är svunna tider...)
...eller i stället för att hårdkoda så kan du ju lägga in en tabell i databasen, med yrkena, och joina in den i sökningen, så får du ut yrket i klartext direkt.
Här kommer lite psedu-kod som du kan hämta insperation ifrån.
Du skall i din GridView ha en kolumn som är en Image, samt att du skall använda dig av event RowDataBound som finns på din GridView
protected void GridView1_onRowDataBound(object sender, GridViewRowEventArg e)
{
switch(e.Row.RowType)
{
case RowType.DataRow
//-- Gör om DataItem till ditt object som du bundit till din grid, i mitt fall en custom entity
//-- I ditt fall så är det säker en dataRow eller något annat ful objekt.... :)
CustomEntity ce = e.Row.DataItem as CustomEntity;
if(ce.Yrke == 1)
((Image)e.Row.Cells[2]).ImageUrl = "doktor.gif";
eles if(ce.Yrke == 2)
((Image)e.Row.Cells[2]).ImageUrl = "polis.gif";
break;
}
}