Jag vill använda en repeater, datalist, datagrid (med tillhörande odbcreader eller odbcdataadapter/datasets) för att kontrollera varje rad som kommer från en databastabell. Jag vill kunna avläsa värdet på varje rad
DataTable dt;
DataColumn dc;
DataRow dr;
string strThis;
while (mReader.Read()) {
strThis = mReader.GetString();
if (Convert.ToInt32(strThis) == 1)
else {
//<tr> ska vara cyan - typ: dr.Attributes.Add("background-color:cyan;", style);
}
dr.Columns.Add(...) //första cellen
strThis = mReader.GetString();
dr.Columns.Add(new LiteralControl(strThis)); //andra cellen
//...osv till typ 5 kolumner eller fler
dt.Rows.Add(dr); //in med allt i denna rad i tabellen
}
protected DataGrid dgNyheter; //används i min aspx fil
private DataView dv = (DataView)dt;
dgNyheter.DataSource = dv;
denna data vill jag infoga i en <table> och beroende på om kolumnen "status" i tabellen från databasen har värdet 1 eller 0 så vill jag färga <tr> i <table>. (style="background-color:cyan; till exempel)
Mot slutet ska alla <tr> som är inaktiva vara cyan då, medan resten ska vara vita. Jag vill även kunna redigera varje inviduell post för sig, fast med fler värden än de som visas i orginaltabellen. (tex. på cdon.com så klickar du på en artikel i deras sortiment, och detaljerad info kommer upp över den)
Finns det något smidigt sätt att göra detta? En repeater är ju enbart för att visa data, och så vitt jag fattar så kan man inte manipulera själva tabellen utifrån vilken data som hämtas, utan bara innan datan hämtas.
Men min fråga är hur man anpassar hur <tr> ser ut beroende på vilken data man får från den aktiva cellen?
Ett DataGrid eller en <asp:Table>? Någon som har en idé?
Utmärkt läge att använda en datagrid. :)
Allt det du kodat själv blir så mycket enklare. Du binder din data till en datagrid och kontrollerar varje rad vid utskrift m.h.a. onitemdatabound.
--- .aspx
<asp:datagrid OnItemDataBound="checkRow"></asp:datagrid>
--- .cb
Sub checkRow(sender as object, e as datagrideventargs)
if e.item.cells(0).text = 1 then
e.item.backcolor = system.drawing.color.cyan
end if
End Sub
För redigering fungerar datagridens edittemplate alldeles utmärkt. Finns mycket att läsa och exempel att läsa på nätet om den. asp.net t.ex. ;)
Finns det något sätt att ta ut värdet ur en cell som inte ska vara med i DataGrid?
Jag vill ta ut ett värde från en databascell som heter www och lägga in innehållet i en länk kring namnet på sidan, som i sin tur läggs in i min datagrid.
När detta är löst så vill jag koppla länkarna som jag lägger runt datan till funktioner i min codebehind. Så att om jag tex. klickar på "ta bort" eller "makulera" eller liknande så ska dessa anropa funktioner på servern.
261 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e