Avatar billede nat Nybegynder
16. november 2005 - 15:11 Der er 11 kommentarer og
1 løsning

C# datagrid get værdi

Hej eksperter,

Hvis jeg har et Datagrid, som består af nogle data fra en db, når dette grid bliver vist, er den første kolonne (index 0) et nummer med link. Jeg har lavet en metode, hvor jeg gerne vil have nummeret fra kolonen og sætte ind i en streng. Dette vil jeg gøre for alle numrene i kolonenen.
Hvordan får jeg fat i den værdi der står i datagridet på index 0?
Avatar billede dr_chaos Nybegynder
16. november 2005 - 16:27 #1
foreach (DataGridItem di in dg.Items)
        {
            if (di.Cells[0].Text == "1")
            {
                int j = int.Parse(di.Cells[0].Text);
                string j = "Et nummer" + j;
            }
        }
Avatar billede dr_chaos Nybegynder
16. november 2005 - 16:27 #2
hvor dg er navnet på dit datagrid.
Avatar billede nat Nybegynder
17. november 2005 - 09:24 #3
Jeg har denne metode:
public string ReturnUrl()
        {
            string url= ordreUrlString;
           
            foreach (DataGridItem di in dg.Items)
            {
                if (di.Cells[0].Text == "1")
                {
                    int j = int.Parse(di.Cells[0].Text);
                    url+= j;
                }
            }

            url+=".jpg";
           
            return url;   
        }

Jeg har udskiftet string j = "Et nummer" + j; med url+=j;

Men den giver mig ikke de numre der står i datagridet, på hver enkelt nr.

Hvad er galt?
Avatar billede dr_chaos Nybegynder
17. november 2005 - 10:28 #4
prøv med:
public string ReturnUrl()
        {
            string url= ordreUrlString;
         
            foreach (DataGridItem di in dg.Items)
            {
                    int j = int.Parse(di.Cells[0].Text);
                    url+= j;
            }

            url+=".jpg";
         
            return url; 
        }
Avatar billede nat Nybegynder
17. november 2005 - 11:28 #5
Nope, den får ikke fat i nummeret (som er 6 cifret - så det kan ikke være en int vel?)  Jeg har prøvet med string j = di.Cells[0].Text; i stedet for int, men intet hjælper...
Avatar billede dr_chaos Nybegynder
17. november 2005 - 12:20 #6
hvordan bruger du ReturnUrl()
Avatar billede nat Nybegynder
17. november 2005 - 12:53 #7
<asp:TemplateColumn HeaderText="Ordrenr.">
<ItemTemplate>
<asp:HyperLink id=HyperLink1 runat="server" href='<%#ReturnUrl()%>' target="_blank" Text='<%#DataBinder.Eval( Container, "DataItem.VareNr")%>'/>
</ItemTemplate>
</asp:TemplateColumn>

VareNr er i en Oracle db, og er sat som Number(8)
Avatar billede nat Nybegynder
17. november 2005 - 13:58 #8
Når jeg bruger j som int får jeg at vide at input string er i forkert format. laver jeg dem som string for jeg ikke noget tal ind, kun en tom stregn "".

Hvad skal jeg gøre for at få fat på den værdi (DataItem.VareNr) som den så fint skriver i mit grid?
Avatar billede nat Nybegynder
17. november 2005 - 16:37 #9
Never mind, får fat i tallet nu. Smider du et svar :)
Avatar billede dr_chaos Nybegynder
18. november 2005 - 08:19 #10
jeps :)
smid evt din kode her så andre kan se hvaddu har gjort :)
Avatar billede nat Nybegynder
18. november 2005 - 14:46 #11
Da det var et custom datagrid skulle jeg længere ned di.Cells[0].Text[1].Text - såmen kun derfor, ellers ville det have virket med det du skrev :)
Avatar billede dr_chaos Nybegynder
18. november 2005 - 14:47 #12
ah 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