Hi Emanuel96,
I have modified the code. Refer the below code.
HTML
<div>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Height="278px"
Width="540px" BackColor="Aqua" ShowFooter="true" OnRowDeleting="OnRowDeleting"
OnRowDataBound="OnRowDataBound">
<Columns>
<asp:BoundField DataField="Id" HeaderText="Id" ItemStyle-Width="50">
<ItemStyle Width="50px"></ItemStyle>
</asp:BoundField>
<asp:BoundField DataField="NomeProdotto" HeaderText="Nome" ItemStyle-Width="150">
<ItemStyle Width="150px"></ItemStyle>
</asp:BoundField>
<asp:BoundField DataField="PrezzoProdotto" HeaderText="PrezzoProdotto" ItemStyle-Width="150"
DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right">
<ItemStyle Width="150px"></ItemStyle>
</asp:BoundField>
<asp:BoundField DataField="Quantità" HeaderText="Quantità" ItemStyle-Width="150">
<ItemStyle Width="150px"></ItemStyle>
</asp:BoundField>
<asp:CommandField ShowDeleteButton="True" ButtonType="Button" />
</Columns>
</asp:GridView>
</div>
VB.Net
'Get DataTable from DataBase
Private Function GetDataTable() As DataTable
Dim dt As New DataTable()
dt.Columns.AddRange(New DataColumn() {New DataColumn("Id", GetType(Integer)), New DataColumn("NomeProdotto", GetType(String)), New DataColumn("PrezzoProdotto", GetType(Decimal)), New DataColumn("Quantità", GetType(Integer))})
dt.Rows.Add(1, "John Hammond", 10.5, 10)
dt.Rows.Add(2, "Mudassar Khan", 12.8, 9)
dt.Rows.Add(3, "Suzanne Mathews", 5.1, 5)
dt.Rows.Add(4, "Robert Schidner", 2.6, 3)
Return dt
End Function
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not Me.IsPostBack Then
Dim dt As DataTable = GetDataTable()
Session("dt") = dt
Me.BindGrid()
End If
End Sub
Protected Sub BindGrid()
GridView1.DataSource = TryCast(Session("dt"), DataTable)
GridView1.DataBind()
'Calculate Sum and display in Footer Row
Dim total As Decimal = TryCast(Session("dt"), DataTable).AsEnumerable().Sum(Function(row) row.Field(Of Decimal)("PrezzoProdotto"))
GridView1.FooterRow.Cells(1).Text = "Total"
GridView1.FooterRow.Cells(1).HorizontalAlign = HorizontalAlign.Right
GridView1.FooterRow.Cells(2).Text = total.ToString("N2")
End Sub
Protected Sub OnRowDataBound(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
Dim item As String = e.Row.Cells(0).Text
For Each button As Button In e.Row.Cells(4).Controls.OfType(Of Button)()
If button.CommandName = "Delete" Then
button.Attributes("onclick") = (Convert.ToString("if(!confirm('Do you want to delete ") & item) + " ?')){ return false; };"
End If
Next
End If
End Sub
Protected Sub OnRowDeleting(sender As Object, e As GridViewDeleteEventArgs)
Dim index As Integer = Convert.ToInt32(e.RowIndex)
Dim dt As DataTable = TryCast(Session("dt"), DataTable)
dt.Rows(index).Delete()
Session("dt") = dt
Me.BindGrid()
End Sub