Avatar billede nat Nybegynder
12. juli 2006 - 13:48 Der er 8 kommentarer og
1 løsning

c# datagrid skjule overskift hvis betingelse er opfyldt

Hej Eksperter,

Jeg har et datagrid , hvor jeg ikke ønsker at vise celler der er tommer, dette gør jeg på følgende måde:

if ((e.Item.ItemType == ListItemType.Item) ||(e.Item.ItemType == ListItemType.AlternatingItem))
{
if( e.Item.Cells[2].Text == " " )
{
e.Item.Cells[2].Visible = false;
if( e.Item.Cells[3].Text == " " )
{
e.Item.Cells[3].Visible = false;
osv. osv.
}

Hvis der nu f.eks. ikke er noget cell[2] hvordan får jeg den så samtidig til ikke at vise overskriften?

Jeg ved at der er DataGrid1.ShowHeader = false; men den skjuler alle overskrifterne, og jeg vil kun skjule overskriften der hvor cellen er tom. Hvordan gør jeg det?
Avatar billede froenie Nybegynder
12. juli 2006 - 18:40 #1
Kan du ikke snakke til kolonen ? du ved jo hvilken celle det er.
Så noget lignende e.coloumns(2).visible = false, ved ik om e indeholder colummns... bare et foreslag....
Avatar billede froenie Nybegynder
12. juli 2006 - 18:47 #2
Nu ved jeg ikke hvilken datasource du bruger til griddet, men hvis det er en datatable kunne du jo løbe den igennem inden du binder den til griddet.
Avatar billede nat Nybegynder
19. juli 2006 - 11:38 #3
e er:

protected void ItemDB (Object s , System.Web.UI.WebControls.DataGridItemEventArgs e)
{
Avatar billede nat Nybegynder
19. juli 2006 - 11:39 #4
Hvis jeg "snakker" til kolonnen, bliver overskriften der, hvilket ikke er så fedt, da datene bare rykker plads når man skjuler.... Medmindre man også kan skjule overskriften hvis alle rækker i den kolonne er tomme?
Avatar billede nat Nybegynder
19. juli 2006 - 11:42 #5
Jeg har problemet et andet sted også, hvor jeg har lavet det med et dataset, hvor jeg prøver at løbe det igennem således:

foreach (DataRow dr in das.Tables[0].Rows)
{
if(dr[0].ToString()=="")
{
das.Tables[0].Rows.Remove(dr);
}
else
{
dr[0].ToString();
}
}

Men det gør ikke lige som det skal. Hvordan er den rigtige måde at gøre dette på?
Avatar billede froenie Nybegynder
19. juli 2006 - 18:09 #6
Men her fjerner du rækken hvis den er tom. Jeg tror du er nød til at finde ud af hvilken kolone der er det tomme felt i, og derefter sige das.Tables[0].columns(den er der er tom).visible = false.

Tror det burde være muligt, har lidt travlt men prøver at finde lidt tid til at komme med et bedre svar/eksempel.
Avatar billede nat Nybegynder
16. november 2006 - 14:33 #7
Tak for hjælpen froenie, smider du ikke et svar for "effort"?
Avatar billede froenie Nybegynder
16. november 2006 - 15:01 #8
Behold du bare dem, det blev jo ikke til nogen løsning. Har lige tænkt lidt over den igen, men kan ikke umiddelbart finde en nem løsning. Desværre.
Avatar billede nat Nybegynder
24. november 2006 - 14:22 #9
Ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester