Merhaba
arkadaşlar bu makalemizde GridView sütunlarındaki satırların toplamını, Toplam
Tutar sütununda gösterilmesini sağlayacağım. Ayrıca GridView Footer kısmında da
her bir sütunun toplamını göstereceğim.
Screenshot
Şekil
1
Default.aspx.cs
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DatabindList();
}
}
protected void DatabindList()
{
DataTable dt = new DataTable();
DataColumn dc = new DataColumn();
dc.ColumnName = "Kitap Adı";
dc.DataType = typeof(string);
dt.Columns.Add(dc);
DataColumn dc2 = new DataColumn();
dc2.ColumnName = "Fiyat";
dc2.DataType = typeof(int);
dt.Columns.Add(dc2);
DataColumn dc3 = new DataColumn();
dc3.ColumnName = "Adet";
dc3.DataType = typeof(int);
dt.Columns.Add(dc3);
dt.Columns.Add(new DataColumn("ToplamTutar", typeof(int), "Fiyat * Adet"));
dt.Rows.Add(new object[] { "A Kitabı", 20, 1 });
dt.Rows.Add(new object[] { "B Kitabı", 30, 2 });
dt.Rows.Add(new object[] { "C Kitabı", 40, 3 });
GridView1.DataSource = dt;
GridView1.DataBind();
}
int sayi = 0;
decimal Fiyat,Adet,toplamTutar = 0;
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
//Toplam tutar
sütununun rengini değiştiriyoruz.
e.Row.Cells[3].BackColor = System.Drawing.Color.GreenYellow;
//Toplam tutar
sütunundaki satırlardaki yazıların rengini değiştiriyoruz.
e.Row.Cells[3].ForeColor = System.Drawing.Color.OrangeRed;
e.Row.Cells[3].Font.Bold = true;
e.Row.Cells[3].Font.Size = 14;
//veri satirinda
if (e.Row.RowType == DataControlRowType.DataRow)
{
// kayit sayisini artiriyoruz.
sayi += 1;
// kitap fiyatlarini topluyoruz.
Fiyat += Convert.ToDecimal(DataBinder.Eval(e.Row.DataItem, "Fiyat"));
// kitap adetlerini topluyoruz.
Adet += Convert.ToDecimal(DataBinder.Eval(e.Row.DataItem, "Adet"));
// Toplam Tutar fiyatlarini topluyoruz.
toplamTutar += Convert.ToDecimal(DataBinder.Eval(e.Row.DataItem, "ToplamTutar"));
}
//footer içindeki
satırda
else if (e.Row.RowType == DataControlRowType.Footer)
{
e.Row.Cells.Clear();
// yeni tablo hucresini olusturuyoruz.
TableCell tableCell = new
TableCell();
// tablo degerlerini ayarliyoruz
tableCell.ColumnSpan = 4;
// yaziyi ortaliyoruz.
tableCell.HorizontalAlign = HorizontalAlign.Center;
//fontu ayarliyoruz.
tableCell.Font.Size = 14;
tableCell.Font.Bold = true;
// footer da gorunmesini istedigimiz text i yaziyoruz.
tableCell.Text = "Kayıt Sayısı = " + sayi.ToString() +" Fiyat=" + Fiyat+ " Adet="+Adet+" Tutar=" +toplamTutar;
// ve ekliyoruz.
e.Row.Cells.Add(tableCell);
}
}
}
Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html>
<html
xmlns="http://www.w3.org/1999/xhtml">
<head
runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" ShowFooter="True"
OnRowDataBound="GridView1_RowDataBound" >
</asp:GridView>
</div>
</form>
</body>
</html>
Bir makalenin daha sonuna geldik. Bir sonraki makalede
görüşmek üzere. Bahadır ŞAHİN
0 comments:
Yorum Gönder