---
title: "Summera rad i GridView"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/170418-summera-rad-i-gridview"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "freddyk"
published: "2008-04-02T10:11:58.000Z"
updated: "2008-04-04T06:18:15.000Z"
replies: 4
views: 534
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/170418-summera-rad-i-gridview"
---

# Summera rad i GridView

## #1 — freddyk, 2008-04-02T10:11Z

Tjena

Skapar en liten faktura-generator på en webbsite. Lägger upp fakturarader i en gridview för utskrift och export. Men skulle vilja få ned en totalsumma i footern på gridviewen. Lyckas inte med det. 

Har skapat funktioner som räknar ihop summor och totalsummor men kan inte få ut det i footern. Inget visas.

```
  //Beräknar radtotal
    protected decimal get_Amount(string price, string quantity)
    {
        decimal Amount;
        decimal pris = Convert.ToDecimal(price);
        int antal = Convert.ToInt32(quantity);
        Amount = (pris * antal);
        OrderTotal = (OrderTotal + Amount);
        return Amount;
    }
//Beräknar totalten på fakturan
    protected decimal get_Faktura_Total()
    {
        return FakturaTotal;
    }
```

Anger FakturaTotal i början av cs-filen. Kallar på RowDataBound vid laddning av GVn

```
protected void gvFakturaRader_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            // add the UnitPrice and QuantityTotal to the running total variables
            priceTotal += Convert.ToDecimal(DataBinder.Eval(e.Row.DataItem,"Pris"));
            quantityTotal += Convert.ToInt32(DataBinder.Eval(e.Row.DataItem,"Antal"));
        }
        else if (e.Row.RowType == DataControlRowType.Footer)
        {
            e.Row.Cells[0].Text = "Totalt:";

            e.Row.Cells[1].Text = priceTotal.ToString("c");
            e.Row.Cells[2].Text = quantityTotal.ToString("d");
            
            e.Row.Cells[1].HorizontalAlign = e.Row.Cells[2].HorizontalAlign = HorizontalAlign.Right;
            e.Row.Font.Bold = true;
        }
    }
```

Har ngn gjort ngt liknande tidigare? Lösning? Kan tänka att det är som en shoppingvagn.... :)

Tacksam för all hjälp. Krisar ihop här ;)

Permalänk: https://www.webforum.nu/p/170418

## #2 — freguz, 2008-04-02T10:45Z

Ser ju bra ut, men har du testat at trace.write ut dina värden på lite olika ställen? alternativt köra debug så ser man ju oxå alla värden?

Enda jag undrar över är koden där du deklarerar priceTotal, bör väl vara protected (gissar lite)

Permalänk: https://www.webforum.nu/p/2095266

## #3 — freddyk, 2008-04-02T11:20Z

> **freguz skrev:**
>
> Ser ju bra ut, men har du testat at trace.write ut dina värden på lite olika ställen? alternativt köra debug så ser man ju oxå alla värden?
> 
> Enda jag undrar över är koden där du deklarerar priceTotal, bör väl vara protected (gissar lite)

Mjo. Vet inte  om jag hänger på här men är den inte det? 

Nedan visar jag för att summera raderna i Gvn...

```
//I GVn
<asp:TemplateField>
                                    <HeaderTemplate>Summa</HeaderTemplate>
                                        <ItemTemplate>
                                            <asp:Label ID="lblSumma" Visible='<%# !(bool) IsInEditMode %>' runat="server" Text='<%# get_Amount(Eval("Pris"),Eval("Antal")) %>' />                                            
                                        </ItemTemplate>                                        
                                        <ItemStyle HorizontalAlign="Left" VerticalAlign="Top" Width="400px" />                                       
                                    </asp:TemplateField>
```

Men jag får följande felmeddelande...
"The best overloaded method match for 'nyfaktura.get_Amount(string, string)' has some invalid arguments"

Vad kan vara fel?

Permalänk: https://www.webforum.nu/p/2095273

## #4 — P, 2008-04-02T15:43Z

Eval("Pris") och Eval("Antal") ger säkert något annat än string då. Eval ger den typ som objektet är så om det är en double eller int och då försöker anropa get_Amount(string,string) så blir det fel. 
Vad är det för typer i databasen?

Permalänk: https://www.webforum.nu/p/2095324

## #5 — freddyk, 2008-04-04T06:18Z

ah ok. Det är ju int i databasens SP. Ska testa detta... Tack för tipset P!

Tillägg:

Det fungerade tyvärr inte. hmm... Samma problem...

Permalänk: https://www.webforum.nu/p/2095676

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/170418-summera-rad-i-gridview
