Avatar billede columbus32 Nybegynder
09. juli 2007 - 12:47 Der er 9 kommentarer

brug af GridView sammen med eget objekt

Hejsa,
Jeg har en ArrayList som er en liste med mit eget company objekt med attributter, get og set mm. Hvordan kan jeg præsentere disse objekter i f.eks. et Gridview?
Er ArrayList måske et dårligt valg som liste?
Avatar billede bubbaa Nybegynder
09. juli 2007 - 13:01 #1
I c# havde jeg valgt at gemme det i et dataset. Så kan du binde det direkte til dit gridview.
Ved ikke om dataset også findes i asp.net?
Avatar billede columbus32 Nybegynder
09. juli 2007 - 13:03 #2
jeg bruger c#. Men kan jeg gemme objekterne i et dataset eller mener du værdierne direkte?
Avatar billede bubbaa Nybegynder
09. juli 2007 - 13:14 #3
Jeg vil tro du kan gemme dine objekter i et dataset, som derefter kan vises direkte i et gridview.
Avatar billede neoman Novice
09. juli 2007 - 14:00 #4
Hvis du har objekterne i en arraylist, så tror jeg ikke en gridview selv kan fiske property-værdierne op. Du kunne bruge en generic List : http://www.thescripts.com/forum/thread344997.html
Avatar billede 2c Nybegynder
09. juli 2007 - 14:38 #5
Jeg bruger selv list<Company>

Der sætter man bare listen som datasource, og det er der ikke nogen problemer med.

Altså noget med :
Gridview1.datasource = min liste;
Gridview1.dataBind();
Avatar billede snepnet Nybegynder
10. juli 2007 - 14:42 #6
GridViews viser alt hvad lugter lidt af liste, og vil pr. default rendere kolonner udfra de public properties der er på objekterne i listen.
Så både en ArrayList og en liste som 2c viser (generics) er fint gangbare.
Mvh
Avatar billede paultodobom Nybegynder
13. juli 2007 - 12:11 #7
Her er et hurtigt eksempel:

Default.aspx:
<asp:GridView
    ID="gridView1"
    runat="server"
    AutoGenerateColumns="true">
</asp:GridView>

Default.aspx.cs:
protected void Page_Load(object sender, EventArgs e)
    {
        ArrayList personer = new ArrayList();
        EnPerson anne = new EnPerson();
        anne.Navn = "Anne";
        personer.Add(anne);
        EnPerson lotte = new EnPerson();
        lotte.Navn = "lotte";
        personer.Add(lotte);
        gridView1.DataSource = personer;
        gridView1.DataBind();
    }

    private class EnPerson
    {
        private string navn;
        public string Navn
        {
            get { return navn; }
            set { navn = value; }
        }
    }

Mit lille eksempel illustrerer det snepnet siger.
Avatar billede paultodobom Nybegynder
13. juli 2007 - 12:12 #8
Ups, husk using System.Collections;
Avatar billede snepnet Nybegynder
13. juli 2007 - 13:24 #9
Bemærk at du kan benytte ObjectDataSource med dine egne klasser.
Mvh
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