Erste Summe der Werte einer bestimmten Spalte aus GridView

Ihn

Ich bin mit einem ASP.NET/VB.NET mit SQL-Server-2012.

Ich habe ein GridView-Spalte mit 3 Felder und 1 Feld Vorlage wie unten gezeigt:

<asp:GridView ID="grdItems" runat="server" AutoGenerateColumns="False" CellPadding="4" DataSourceID="SqlDataSource3" Font-Names="Tahoma" ForeColor="#333333" GridLines="None">
    <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
    <Columns>
        <asp:BoundField DataField="item_name" HeaderText="Item" SortExpression="item_name" />
        <asp:BoundField DataField="item_cost" HeaderText="Cost (inc. VAT)" SortExpression="item_cost" />
        <asp:BoundField DataField="item_quantity" HeaderText="Quantity" SortExpression="item_quantity" />
        <asp:TemplateField HeaderText="Sub-Total (inc. VAT)">
            <ItemTemplate>
                <asp:Label ID="TextBox3" runat="server" Text='<%# Convert.ToInt32(Eval("item_quantity")) * Convert.ToDouble(Eval("item_cost"))%>'></asp:Label>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField>
            <FooterTemplate>
                <asp:Label ID="lblTotalPrice" runat="server" />
            </FooterTemplate>                  
        </asp:TemplateField>
    </Columns>
    <EditRowStyle BackColor="#999999" />
    <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
    <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" HorizontalAlign="Center" VerticalAlign="Middle" />
    <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
    <RowStyle BackColor="#F7F6F3" ForeColor="#333333" HorizontalAlign="Center" VerticalAlign="Middle" />
    <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
    <SortedAscendingCellStyle BackColor="#E9E7E2" />
    <SortedAscendingHeaderStyle BackColor="#506C8C" />
    <SortedDescendingCellStyle BackColor="#FFFDF8" />
    <SortedDescendingHeaderStyle BackColor="#6F8DAE" />
</asp:GridView>

Code hinter:

Imports System.Data.SqlClient
Imports System.Data

Partial Class ProjectReport
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load

        Dim ProjectID = Session("project_id")
        Session("ProjectID") = ProjectID

    End Sub
    Protected Sub grdItems_RowDataBound(sender As Object, e As GridViewRowEventArgs)

        Dim totalPrice As Decimal = 0

        If e.Row.RowType = DataControlRowType.DataRow Then


            Dim lblPrice As Label = DirectCast(e.Row.FindControl("lblTotalPrice"), Label)

            Dim price As Decimal = [Decimal].Parse(lblPrice.Text)


            totalPrice += price

        End If

        If e.Row.RowType = DataControlRowType.Footer Then
            Dim lblTotalPrice As Label = DirectCast(e.Row.FindControl("lblTotalPrice"), Label)

            lblTotalPrice.Text = totalPrice.ToString()


        End If
    End Sub


End Class

Datenbindung()

   Private Sub BindData()

        Dim conn As New SqlConnection("Data Source=BRIAN-PC\SQLEXPRESS;Initial Catalog=master_db;Integrated Security=True")
        Dim query As New SqlCommand("SELECT Items.item_name, Items.item_cost, project_items.item_quantity FROM Items INNER JOIN project_items ON items.item_id = project_items.item_id WHERE project_items.project_id = @parameter", conn)

        query.Parameters.AddWithValue("@UserID", Session("ProjectID"))

        Dim da As New SqlDataAdapter(query, conn)

        da.SelectCommand = query

        Dim table As New DataTable()




        da.Fill(table)

        grdItems.DataSource = table
        grdItems.DataBind()
    End Sub

Letzte Spalte (das Feld Vorlage,) multipliziert, die im Feld Menge mit dem Feld Kosten.

Wie berechne ich alle Werte (durch hinzufügen) in das Feld Vorlage eingeben?

wollen Sie zum anzeigen der Summe in der Fußzeile..
wenn möglich, ja!
Hinzufügen eines footertemplate und die Summe der Wert in ItemTemplate ein Label auf grdItems_RowDataBound

InformationsquelleAutor Brian | 2013-04-16

Schreibe einen Kommentar