Hi moayyad,
I have created sample that fullfill your requirement.
HTML
<div>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="cbSalary" runat="server" AutoPostBack="true" OnCheckedChanged="CheckedChanged" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Salary" HeaderText="Salary" />
</Columns>
</asp:GridView>
</div>
<br />
<asp:Label ID="lblSum" runat="server" />
Code
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[1] { new DataColumn("Salary", typeof(decimal)) });
dt.Rows.Add(1000);
dt.Rows.Add(2000);
dt.Rows.Add(3000);
dt.Rows.Add(4000);
GridView1.DataSource = dt;
GridView1.DataBind();
}
}
protected void CheckedChanged(object sender, EventArgs e)
{
decimal total = 0;
foreach (GridViewRow row in GridView1.Rows)
{
CheckBox cb = row.FindControl("cbSalary") as CheckBox;
decimal salary = Convert.ToDecimal(row.Cells[1].Text);
if (cb.Checked)
{
total = total + salary;
}
}
lblSum.Text = total.ToString();
}
Screenshot
