http://dotnet.aspx.cc/ShowDetail.aspx?id=175C1EA1-A261-45D3-B5AC-94F6CACCDDEF

解决方案 »

  1.   

    <%@ Page Language="VB" AutoEventWireup="True" Debug="true"%>
    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.OleDb" %>
    <html>
       <script runat="server">
         dim MyConnection as OleDbConnection
         dim cmdSelect as OleDbCommand
         dim dtrReader as OleDbDataReader
     dim runningTotal as double = 0      Sub Page_Load(sender As Object, e As EventArgs) 
          MyConnection = New OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" + Server.MapPath(".")+"/db/data.mdb")         If Not IsPostBack Then 
                BindGrid()
             End If
          End Sub      Sub BindGrid() 
          Dim MyCommand As OleDbDataAdapter = new OleDbDataAdapter("SELECT name,count FROM [min2]", MyConnection)
              Dim DS As DataSet = new DataSet()
              MyCommand.Fill(DS,"min2") 
              MyDataGrid.DataSource =DS.Tables("min2").DefaultView
              MyDataGrid.DataBind()
          End Sub   Sub MyDataGrid_ItemDataBound( sender as object, e as DataGridItemEventArgs )
             if (e.Item.ItemType = ListItemType.Item or e.Item.ItemType = ListItemType.AlternatingItem) then   
               CalcTotal( e.Item.Cells(1).Text )
               'e.Item.Cells(1).Text = string.Format("{0:c}", Convert.ToDouble(e.Item.Cells(1).Text))
             else if(e.Item.ItemType = ListItemType.Footer ) then   
                e.Item.Cells(0).Text="Total"
                e.Item.Cells(1).Text = runningTotal
                e.Item.Cells(1).HorizontalAlign = HorizontalAlign.Right
             end if
           End Sub    Sub CalcTotal(_price)
               runningTotal += Double.Parse(_price)
           End Sub
     </script>
    <body>
    <Form runat="server">
    <asp:DataGrid id="MyDataGrid" runat="server" 
      Width="300"
      AutoGenerateColumns="False"
      CellPadding="4" 
      CellSpacing="0"
      BorderStyle="Solid" 
      BorderWidth="1"
      ItemStyle-Font-Name="Verdana"
      ItemStyle-Font-Size="9pt"
      HeaderStyle-Font-Name="Verdana"
      HeaderStyle-Font-Size="10pt"
      HeaderStyle-Font-Bold="True"
      HeaderStyle-ForeColor="White"
      HeaderStyle-BackColor="Blue"
      FooterStyle-Font-Name="Verdana"
      FooterStyle-Font-Size="10pt"
      FooterStyle-Font-Bold="True"
      FooterStyle-ForeColor="White"
      FooterStyle-BackColor="Blue"
      ShowFooter="True"
      OnItemDataBound="MyDataGrid_ItemDataBound">
      <Columns>
        <asp:BoundColumn HeaderText="Title" DataField="name"/>
        <asp:BoundColumn HeaderText="Price" DataField="count" 
          ItemStyle-HorizontalAlign="Right"
          HeaderStyle-HorizontalAlign="Center" />
       </Columns>
    </asp:DataGrid>
    </Form>
    </body>
    </html>
      

  2.   

    有必要这么复杂吗? 随便loop一下不就可以了吗