Asp.net GridView ile Alt Toplam Hesaplama

Asp.net GridView ile listelenen kayıtlar arasında toplamı alınacak sütünlar var ise bu sütunların toplamını gösterebilmek için ilk olarak GridView nesnemizin ShowFooter özelliğini True yapıyoruz

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
          DataSourceID="SqlDataSource1"  CellPadding="4" 
            ForeColor="#333333" GridLines="None" ShowFooter="True">
          <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
          <Columns>
              <asp:BoundField DataField="id" HeaderText="id" SortExpression="id" />
              <asp:BoundField DataField="urunadi" HeaderText="urunadi" SortExpression="urunadi" />
              <asp:BoundField DataField="urunfiyatı" HeaderText="urunfiyatı" SortExpression="urunfiyatı" />
              <asp:BoundField DataField="urunno" HeaderText="urunno" SortExpression="urunno" />
              <asp:BoundField DataField="adet" HeaderText="adet" SortExpression="adet" />
                        </Columns>
          <EditRowStyle BackColor="#999999" />
          <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
          <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
          <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
          <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
          <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
          <SortedAscendingCellStyle BackColor="#E9E7E2" />
          <SortedAscendingHeaderStyle BackColor="#506C8C" />
          <SortedDescendingCellStyle BackColor="#FFFDF8" />
          <SortedDescendingHeaderStyle BackColor="#6F8DAE" />
      </asp:GridView>
      <asp:SqlDataSource ID="SqlDataSource1" runat="server"
          ConnectionString="<%$ ConnectionStrings:ogrenciConnectionString %>"
          SelectCommand="SELECT * FROM [urun]">
      </asp:SqlDataSource>

Gridview nesnemizi oluşturduk şimdi sıra geldi toplamları almaya bunun için Form_Load olayına aşağıdaki kodlarımızı yazıyoruz

decimal toplamSayi = 0;
            //burada basit bir toplama işlemi yapıyoruz. 4. sutundaki verileri alt alta topluyoruz.
            for (int i = 0; i < GridView1.Rows.Count; i++)
            {
                toplamSayi += Convert.ToDecimal(GridView1.Rows[i].Cells[4].Text);
            }
                        GridView1.FooterRow.Cells[2].Text = "Toplam " + GridView1.Rows.Count + " Çeşit Üründen Stok adeti.. ="; 
            // kaçtane kayıt olduğunu footerımızın 3. sutununa yazıyoruz.
            GridView1.FooterRow.Cells[4].Text = toplamSayi.ToString(); 
            // topladığımız değerleri footerdaki 4. sutuna yazıyoruz.

gridviewalttoplam

  • mehmet cemal

    eğer hiç veri yoksa footer row da oluşmadığı için hata veriyor

    • BilisimOgretmeni

      cevap için teşekkürler..

  • selim

    Olmadı bu yapamadım. Hata veriyor.

    • BilisimOgretmeni

      oluşan hatayı yazarsanız yardımcı olmaya çalışayım