Kan man välja vad det ska stå i headern. Japp, det går, följande kod går igenom alla kolumner och sätter en text på dom. Jag vet ju hur mångar kolumner jag har. Så finns det inte något mer asp.netigt sätt att göra det på? Fredrik, Fredrik,Datagrid: ändra namn i header?
Jag vill t ex hämta, från en översättningstabell, så att beroende av vilket språk man väljer så ändrar sig titlarna i headern. T ex namn blir name, adress blir address osv.Sv: Datagrid: ändra namn i header?
<code>
for( int i = 0; i< myGrid.Columns.Count; i++ )
{
if( myGrid.ShowHeader )
{
myGrid.Columns[i].HeaderText = "text som ska visas";
}
}
</code>
/Fredrik Normén NSQUARED2
http://normen.mine.nu/myblogSv: Datagrid: ändra namn i header?
Kanske något i stil med <HeaderTable>...</HeaderTable>Sv: Datagrid: ändra namn i header?
Fredriks (den andra personen som svarade) metod verkar .net-ig om du frågar mig. Du kan däremot inte använda en template som du vill, utan då får du använda en <b>DataList</b> istället och definera en <b>HeaderTemplate</b>. I den placerar du t.ex en <b>Lable</b> och registrera dig som en lyssnare på <b>ItemDataBound</b> händelsen.
Väl inne i händelsen så gör du något i stil med (i detta exempel heter lablen myLabel)
[C#]
if( e.Item.ItemType == ListItemType.Header )
{
Label lbl =
((Label)e.Item.FindControl("myLabel"));
lblText = "någon text";
}
Sv: Datagrid: ändra namn i header?
Ok, fel av mig jag tänkte att det var fel att skriva mer asp-igt men jag kom inte på något bättre ord. Det du (andreas) skrev får mig att fundera lite.
Vad är fördelen med att använda DataGrid istället för DataList och tvärt om.Sv: Datagrid: ändra namn i header?
Mitt tips är att du tar en titt på http://www.dotnetjunkies.com/quickstart/aspplus/doc/webcontrolsref.aspx där man beskriver alla webkontrollerna i asp.net. Där kan du läsa om <b>DataList</b> och <b>DataGrid</b> och bilda dig en uppfattning om vad du behöver i ditt projekt då skillnaderna är en del.