Here I have created sample that will help you out.
HTML
<div>
<asp:ListView ID="lvData" runat="server" GroupPlaceholderID="groupPlaceHolder1" ItemPlaceholderID="itemPlaceHolder1">
<LayoutTemplate>
<table cellpadding="0" cellspacing="0">
<tr>
<th>
Id
</th>
<th>
Salary
</th>
<th>
Extra Salary
</th>
<th>
Total Salary
</th>
</tr>
<asp:PlaceHolder runat="server" ID="groupPlaceHolder1"></asp:PlaceHolder>
</table>
</LayoutTemplate>
<GroupTemplate>
<tr>
<asp:PlaceHolder runat="server" ID="itemPlaceHolder1"></asp:PlaceHolder>
</tr>
</GroupTemplate>
<ItemTemplate>
<td>
<asp:Label Text='<%# Eval("Id") %>' runat="server" />
</td>
<td>
<asp:Label ID="lblSalary" Text='<%# Eval("salary")%>' runat="server" />
</td>
<td>
<asp:Label ID="lblExtraSalary" Text='<%# Eval("extra_salary")%>' runat="server" />
</td>
<td>
<asp:Label ID="lblTotalSalary" Text='<%# Eval("total_salary")%>' runat="server" />
</td>
</ItemTemplate>
</asp:ListView>
<br />
<br />
<asp:Button Text="Count" runat="server" OnClick="Count" />
</div>
C#
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
this.BindListView();
}
}
protected void Count(object sender, EventArgs e)
{
foreach (ListViewDataItem item in lvData.Items)
{
if (item.ItemType == ListViewItemType.DataItem)
{
int salary = Convert.ToInt32(((Label)item.FindControl("lblSalary")).Text);
int extraSalary = Convert.ToInt32(((Label)item.FindControl("lblExtraSalary")).Text);
((Label)item.FindControl("lblTotalSalary")).Text = (salary + extraSalary).ToString();
}
}
}
private void BindListView()
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[4] { new DataColumn("Id", typeof(int)),
new DataColumn("salary", typeof(int)), new DataColumn("extra_salary", typeof(int)), new DataColumn("total_salary", typeof(int)) });
dt.Rows.Add(1, 1000, 100, null);
dt.Rows.Add(2, 2000, 50, null);
lvData.DataSource = dt;
lvData.DataBind();
}
VB
Protected Sub Page_Load(sender As Object, e As EventArgs)
If Not Me.IsPostBack Then
Me.BindListView()
End If
End Sub
Protected Sub Count(sender As Object, e As EventArgs)
For Each item As ListViewDataItem In lvData.Items
If item.ItemType = ListViewItemType.DataItem Then
Dim salary As Integer = Convert.ToInt32(DirectCast(item.FindControl("lblSalary"), Label).Text)
Dim extraSalary As Integer = Convert.ToInt32(DirectCast(item.FindControl("lblExtraSalary"), Label).Text)
DirectCast(item.FindControl("lblTotalSalary"), Label).Text = (salary + extraSalary).ToString()
End If
Next
End Sub
Private Sub BindListView()
Dim dt As New DataTable()
dt.Columns.AddRange(New DataColumn(3) {New DataColumn("Id", GetType(Integer)), New DataColumn("salary", GetType(Integer)), New DataColumn("extra_salary", GetType(Integer)), New DataColumn("total_salary", GetType(Integer))})
dt.Rows.Add(1, 1000, 100, Nothing)
dt.Rows.Add(2, 2000, 50, Nothing)
lvData.DataSource = dt
lvData.DataBind()
End Sub
Screenshot
