Avatar billede hmortensen Nybegynder
25. januar 2006 - 16:25 Der er 6 kommentarer og
1 løsning

Object i object - DataGrid

Hejsa

Jeg har to klasser:

    public class A
    {
        private string _navn;
        private B _b;

        public string Property
        {
            get { return _navn; }
        }

        public B B
        {
            get { return _b; }
        }

        public A(string navn, B b)
        {
            _navn = navn;
            _b = b;
        }
    }

    public class B
    {
        private string _adresse;
        private string _tlf;

        public string Adresse
        {
            get { return _adresse; }
        }

        public string Tlf
        {
            get { return _tlf; }
        }

        public B(string adresse, string tlf)
        {
            _adresse = adresse;
            _tlf = tlf;
        }
    }

Jeg propper dem så i en arrayliste:
liste.Add(new A("Jens", new B("Noget", "12345678")));
liste.Add(new A("Olga", new B("Noget andet", "78459612")));
liste.Add(new A("Ole", new B("Noget tredje", "65324851")));

Sætter datasourcen på mit datagridview til min liste, og så får jeg kun Navn fra klasse A, samt klasse navnet på object B.

Hvordan får jeg Navn, Adresse, Tlf istedet ?


Mvh.
Heino Mortensen
Avatar billede mikkel_sommer Nybegynder
25. januar 2006 - 18:47 #1
Du kan få fat i attributterne ved at sige _b.Adresse & _b.Tlf, men hvorfor ikke bare samle både navn, adresse og tlf i en klasse?
Avatar billede hmortensen Nybegynder
25. januar 2006 - 20:31 #2
Det er et forenklet eksempel.

Forstår ikke hvad _b.Adresse skal kunne hjælpe for datagridviewet ?
Avatar billede mikkel_sommer Nybegynder
26. januar 2006 - 08:52 #3
Hvis du laver din property i klasse A således får du dataen frem:

public string B
{
    get { return _b.Adresse + "," + _b.Tlf; }
}
Avatar billede hmortensen Nybegynder
26. januar 2006 - 09:31 #4
Altså skal jeg ha to properties i klasse A:

public string Adresse
{
  get {return _b.Adresse
}

public string Tlf
{
  get {return _b.Tlf}
}

?
Avatar billede mikkel_sommer Nybegynder
27. januar 2006 - 13:00 #5
ja sådan kan du også gøre det. Ved ikke om du kræver at de skal stå i hver deres celle, adresse og tlf. Men som sidst nævnt skulle du få dem i hver sin celle.
Avatar billede hmortensen Nybegynder
27. januar 2006 - 14:14 #6
Det er bare ikke en holdbar løsning, hvis object A ikke kender object B.
Avatar billede hmortensen Nybegynder
01. marts 2006 - 21:55 #7
Lukker
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