Avatar billede Slettet bruger
27. januar 2005 - 14:43 Der er 6 kommentarer og
1 løsning

ArrayList til DataGrid og DataGrid til ArrayList

Hej C# eksperter.

Jeg er ny til C# og jeg kommer fra java miljøet hvor jeg er vant til at arbejde med JTable's (rows og columns). Nu vil jeg gerne have noget ala det samme i C# og har fundet ud af at man skal bruge DataGrid's.

Min kode ser sådan her ud:
    ArrayList array = new ArrayList();
    array.Add("Peter");
    array.Add("Brian");
    array.Add("Poul");
    dataGrid1.DataSource = array;

Men så laver min tabel en kolonne med navnet "Length" og så skriver den antal bogstaver i hver række hvilket ikke er det jeg ønsker.
Jeg ønsker at den skal skrive "Navn" som header og så skal navnene komme på hver række.
Bagefter vil jeg gerne "trække" et navn ud fra mit DataGrid og smide det ind i et ArrayList.
Er der nogen der kan hjælpe?
På forhånd, tak.
Avatar billede aaberg Nybegynder
27. januar 2005 - 14:57 #1
Du skal ikke bruge en arraylist. Du skal bruge et datatable.
Avatar billede aaberg Nybegynder
27. januar 2005 - 15:02 #2
DataTable myTable = new DataTable();
DataRow myNewRow;

myTable.Columns.Add("Name", System.Type.GetType("System.String"));

myNewRow = myTable.NewRow();
myNewRow["Name"] = "Peter";
myTable.Rows.Add(myNewRow);

myNewRow = myTable.NewRow();
myNewRow["Name"] = "Brian";
myTable.Rows.Add(myNewRow);

dataGrid1.DataSource = myTable;
Avatar billede aaberg Nybegynder
27. januar 2005 - 15:04 #3
Hvis du vil bruge en arraylist alligevel, kan du lave en lykke, hvor du putter værdierne fra datalisten over i myNewRow.
Avatar billede Slettet bruger
27. januar 2005 - 15:05 #4
Perfekt, hvordan henter jeg så de informationer igen? :)
Avatar billede aaberg Nybegynder
27. januar 2005 - 15:16 #5
Hvis du retter noget i datagriddet, bliver disse informationer automatisk lagt ind i datatabellen. Datagridet peger sådan set bare på din datatable, så du skriver direkte ned i din datatable. For at få et navn ud:

ArrayList navne = new ArrayList;

for (int index = 0; index < myTable.Rows.Count; index++)
{
  navne.Add(myTable.Rows[index]["Name"].ToString());
}

Hvis du vil gøre dette i en anden metode, skal du selvfølgelig erklære dit datatable globalt.
Avatar billede Slettet bruger
27. januar 2005 - 15:17 #6
Mange tak for hjælpen, smid et svar og du får dine points :)
Avatar billede aaberg Nybegynder
27. januar 2005 - 15:18 #7
svar
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