Toon posts:

[ASP.NET]Datagrids en standaard layout mbv css

Pagina: 1
Acties:

Verwijderd

Topicstarter
In mijn webproject heb ik meerdere datagrids nodig. Het zou natuurlijk handig zijn als je alle datagrids dezelfde layout geeft mbv css. Ik had het eerst op deze manier gedaan.

css

/* DATAGRIDS */
#Datagrid
{
border-left: solid 1px #EBE5DD;
}
#Datagrid td
{
border-top: solid 1px #EBE5DD;
padding: 4px;

}
#Datagrid th{
padding: 4px;
background: #EBE5DD;
}
#Datagrid tr.odd{
background: #F8F8F8;
}
#Datagrid tr.even{
background: #FFEBD7;
}

#Datagrid tr.selected{
background: #FFEBD8;
}

Het webserver datagrid control id moet dan wel id="Datagrid" zijn. Hier zit dus ook het probleem, want dit id is altijd dynamisch afhankelijk van de parentcontrol benamingen.

Bijvoorbeeld:
<table cellspacing="0" rules="all" border="1" id="_ctl0_Datagrid" style="height:144px;width:600px;border-collapse:collapse;">

Kortom, ik heb niks aan het koppelen van css clas aan het id.

Wie weet een oplossing of workaround?

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 08-05 11:55

mulder

ik spuug op het trottoir

niemand verplicht jou met id's te werken?

oogjes open, snaveltjes dicht


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Kan je aan die DataGrid geen CSS class koppellen. De meeste ASP controls kennen de CssClass property. Wat je dan eigenlijk wil forceren is dat de volgende Table tag wordt gerendered:
code:
1
<table cellspacing="0" rules="all" border="1" id="_ctl0_Datagrid" class="Datagrid">


In je CSS maak je overal van #DataGrid -> .DataGrid en dan heb je dus een CSS class waar meerdere datagrids naar kunnen verwijzen via hun CssClass property.

It’s nice to be important but it’s more important to be nice


Verwijderd

Topicstarter
nee dat klopt, maar ik wou juist via het id, de css class koppelen. Dus op deze manier wil ik juist met het ID werken. En het zou ook werken als het ID altijd gewoon de waarde "Datagrid" in mijn html broncode had.
Er moet dus een andere manier zijn......

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Vraag jezelf eerst eens af waarom je via de ID de css wilt koppelen.
Je wil altijd een vaste layout aan een verzameling van grids koppelen. Dan lijkt het mij logischer om het via de classname te doen.
Dus overal waar je nu #DataGrid hebt staan zet je DataGridMetLeukeClassname neer. En dan in je grid dus class="DataGridMetLeukeClassname".
edit:

Zoals JonkieXL al zegt dus ;)

[ Voor 9% gewijzigd door bigbeng op 15-04-2005 17:03 ]


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Verwijderd schreef op vrijdag 15 april 2005 @ 16:51:
nee dat klopt, maar ik wou juist via het id, de css class koppelen. Dus op deze manier wil ik juist met het ID werken. En het zou ook werken als het ID altijd gewoon de waarde "Datagrid" in mijn html broncode had.
Er moet dus een andere manier zijn......
Net gecheckt in VS.NET. De DataGrid controls hebben gewoon een CssClass property dus mijn aangedragen oplossing (net als die van BigBeng dus ;) moet werken. Als je een CSS ID gebruikt kan je ook maximaal maar 1 datagrid op je pagina aan jouw CSS style koppelen aangezien elk ASP control een unieke ID moet hebben. Dus nog een goede reden om de CssClass property te gebruiken.

[ Voor 4% gewijzigd door pjonk op 15-04-2005 17:05 ]

It’s nice to be important but it’s more important to be nice


Verwijderd

Topicstarter
hmmm thnx, ik ga het proberen. ik moet me css dus veranderen:)

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 08-05 21:15
^^ Mee eens.

CssClass is de way to go hier.
Met ID werken kan zowieso niet:
1. Het ID van je grid moet uniek zijn
2. Css voor een id van een element werkt (dacht ik) alleen voor het eerste element dat gevonden wordt.

Roomba E5 te koop

Pagina: 1