Avatar billede stefold Nybegynder
03. juli 2006 - 14:25 Der er 4 kommentarer og
1 løsning

Skjul 4 første poster ved brug af et datagrid

Hej eksperter

Først skal det lige siges at jeg er nybegynder når det kommer til programmering.

Nå men jeg er ved at lave en applikation der udfra nogle oplysninger fra brugeren kan lave nogle simple beregninger. Dataen bliver gemt og loadet fra XML filer ved brug af TypedDataset.ReadXml osv.

For at vise dataen har jeg så lavet et datagrid, og med MS visual studio 2005 går det jo rimelig nemt med bare lige at vælge datakilde, og derefter hvilke kolloner der skal vælges.

Men problemet er så at i mit dataset ligger der 4 'dummy' posts som programmet selv genererer hver gang man laver et nyt data set. Disse poster vil jeg ikke have vist når man vælger at se datagridet.



Nogen der kan hjælpe?

Stefold
Avatar billede mikkel_sommer Nybegynder
03. juli 2006 - 14:31 #1
Du kunne lave et objekt som har de attributter som du ønsker vist.
Når du så har din xml fil kan du lave en instans af dit objekt med de ønskede værdier fra xml filen og lægge objektet eller objekterne hvis der er flere ind i et arraylist som du så angiver som dataSource til dit grid.
Avatar billede stefold Nybegynder
03. juli 2006 - 20:29 #2
>>> mikkel sommer

Som skrevet er jeg rimelig begynder til det her programmering, men tror lidt jeg har fået fat i din idé. Kan du evt. uddybe det lidt, måske med en smule kode og forklaring?

stefold
Avatar billede mikkel_sommer Nybegynder
04. juli 2006 - 03:12 #3
Hvis du starter med din objekt klasse (ved ikke om det er de rigtige datatyper ellers må du lige bytte dem ud):

using System;

namespace mySpace
{
    public class MyClass
    {
        private string str1 = string.Empty;
        private string str2 = string.Empty;

        public string Str1
        {
            get{return str1;}
            set{str1= value;}
        }

        public string Str2
        {
            get{return str2;}
            set{str2 = value;}
        }

        public MyClass(){}

        public MyClass(string s1, string s2)
        {
            str1 = s;
            str2 = n;
        }
    }
}

Så kan du i din main eller den metode du kalder når dit datagrid skal udfyldes gøre noget lignende:

ArrayList myList = new ArrayList();

MyClass obj1 = new MyClass(dinXMLNode1.ToString(), dinXMLNode2.ToString());
MyClass obj2 = new MyClass(dinXMLNode3.ToString(), dinXMLNode4.ToString());
MyClass obj3 = new MyClass(dinXMLNode5.ToString(), dinXMLNode6.ToString());

myList.Add(obj1);
myList.Add(obj2);
myList.Add(obj3);

myGrid.DataSource = mylist;

På denne måde sikre du dig at det kun er str1 og str2 som vises i dit datagrid.

Du kan også lave objekterne samtidig med at du indsætter dem i listen, men det andet er måske mere overskueligt. Men hvis du ønsker at gøre det ser det således ud:

myList.Add(new MyClass(dinXMLNode1.ToString(), dinXMLNode2.ToString()));
myList.Add(new MyClass(dinXMLNode3.ToString(), dinXMLNode4.ToString()));
myList.Add(new MyClass(dinXMLNode5.ToString(), dinXMLNode6.ToString()));

Håber det kan hjælpe dig lidt på vej...
Avatar billede stefold Nybegynder
04. juli 2006 - 22:03 #4
Virker bare kanon, smid et svar så du kan få dine velfortjente point..

stefold
Avatar billede mikkel_sommer Nybegynder
05. juli 2006 - 12:55 #5
Lyder godt :)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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