Toon posts:

[asp.net] cellen uit een grid uitlezen en opslaan?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig om uit een datagrid de rijen te tellen en dan de getallen die in de cellen staan bij elkaar op te tellen ik gebruik daarvoor de volgende code alleen weet ik niet waarom het niet werkt, ik heb alles al aangepast maar krijg het niet voor elkaar...

code:
1
2
3
4
5
6
7
8
9
10
11
12
        int aantalRijen = GridView1.Rows.Count;

        int j = 1;
        string totaal, totaal2="0";
        while (j < aantalRijen)
        {
            totaal = Convert.ToString(GridView1.Rows[j - 1].Cells[5].Text);
            totaal2 = totaal + totaal2;
            j++;

        }
        uitTotaalbedrag.Text = totaal2;


iemand waarom het niet werkt?

  • Swerfer
  • Registratie: Mei 2003
  • Laatst online: 14-02 17:02

Swerfer

Hmm...

Waarom ga je rekenen met strings? Dat geeft al gauw problemen. Als je gehele getallen op wilt tellen, dan kan je het beste integers nemen.

Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 19-02 16:17

gorgi_19

Kruimeltjes zijn weer op :9

En wat werkt er niet?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 13-12-2024
ik deed het zo (ik denk dat je hetzelfde wilt doen:

C#:
1
2
3
4
5
6
7
int waarde = 0
 foreach (GridViewRow row in myGrid.Rows)
        {
      
                waarde += Int.Parse(row.Cells[6].Text);

       }


ik doe dat in de OnDataBound btw....

[ Voor 9% gewijzigd door 4of9 op 25-06-2006 02:12 ]

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


Verwijderd

Topicstarter
ik heb het al voor elkaar:) iig bedankt!

code:
1
2
3
4
5
6
7
8
9
10
        int j = 0;
        double totaal, totaal2 = 0;
        while (j < aantalRijen)
        {
            totaal = Convert.ToDouble(GridView1.Rows[j].Cells[5].Text);
            totaal2 = totaal + totaal2; 
            j++;

        }
        uitTotaalbedrag.Text = "€"+Convert.ToString(totaal2);

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:53
Bedragen sla je best niet in doubles op, want dat kan problemen geven met afrondingen. (Een double en een float zijn nl. niet precies). Je gebruikt beter een decimal.

https://fgheysels.github.io/


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 19-02 16:17

gorgi_19

Kruimeltjes zijn weer op :9

En buiten wat wiebenik zegt: String.Format("{0:c}",waarde) wil ook nog wel eens helpen :)

[ Voor 9% gewijzigd door gorgi_19 op 25-06-2006 13:46 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
oke, heb er decimals van gemaakt:) bedankt!

Verwijderd

Volgens mij moet je ook nog controleren wat voor soort type rij het is...

http://msdn2.microsoft.co...controls.gridviewrow.aspx
http://msdn2.microsoft.co....gridviewrow.rowtype.aspx
gorgi_19 schreef op zondag 25 juni 2006 @ 11:51:
En buiten wat wiebenik ik zegt: String.Format("{0:c}",waarde) wil ook nog wel eens helpen :)
En buiten wat wiebenik ik zegt: totaal2.ToString("N2") wil ook nog wel eens helpen :)

[ Voor 94% gewijzigd door Verwijderd op 25-06-2006 13:45 ]


Verwijderd

Topicstarter
hmm dat weet ik niet, het werkt nu en het geeft de waarde die ik wil dus het moet goed zijn zo:)

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 19-02 16:17

gorgi_19

Kruimeltjes zijn weer op :9

Dat niet alleen; je kan bij dit soort acties beter je originele dataitem gaan uitlezen en hier mee aan de gang gaan, al dan niet met Databinder.Eval. Het gevaar wat je anders loopt is dat de boel crashed als je een formatting in de column wil gebruiken.

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1