All articles(网络文学目录) All Pictures(图片目录) All Softwares(软件目录)

 
在datagrid中求和的代码(c#、vb.net)_[Asp.Net教程]

Writer: 归海一刀 Article type: Programming skills(编程技巧) Time: 2014/1/30 1:32:37 Browse times: 332 Comment times: 0

在datagrid中求和的代码(c#、vb.net)_[Asp.Net教程]


Head photo

Go homepage
Upload pictures
Write articles

在datagrid中求和的代码(c#、vb.net)_[Asp.Net教程]

















aspx文件
<%@ Page Inherits="myApp.calcTotals" Src="" %>





AutoGenerateColumns="False"
CellPadding="4" CellSpacing="0"
BorderStyle="Solid" BorderWidth="1"
Gridlines="None" BorderColor="Black"
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"
OnItemDataBound="MyDataGrid_ItemDataBound"
ShowFooter="True">





ItemStyle-HorizontalAlign="Right"
HeaderStyle-HorizontalAlign="Center" />




下面给出vb.net和C#两种代码
vb.net
Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.HtmlControls
Imports System.Data
Imports System.Data.SqlClient

Namespace myApp

Public Class calcTotals : Inherits Page

Protected MyGrid As DataGrid
Private runningTotal As double = 0

’定义合计变量
Private Sub CalcTotal(_price As String)
’求和
Try
runningTotal += Double.Parse(_price)
Catch
’ 空值
End Try
End Sub

Public 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))

Elseif(e.Item.ItemType = ListItemType.Footer )

e.Item.Cells(0).Text="Total"
e.Item.Cells(1).Text = string.Format("{0:c}", runningTotal)
End If
End Sub

Protected Sub Page_Load(sender As object, e As EventArgs)

Dim myConnection As New SqlConnection("server=Localhost;database=pubs;uid=sa;pwd=")
Dim myCommand As New SqlCommand("SELECT title, price FROM Titles WHERE price > 0", myConnection)

Try

myConnection.Open()
MyGrid.DataSource = myCommand.ExecuteReader()
MyGrid.DataBind()
myConnection.Close()

Catch ex As Exception

’ 有错误发生
HttpContext.Current.Response.Write(ex.ToString())
End Try
End Sub
End Class
End Namespace


C#道理和vb.net是一样的就多做解释了
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data;
using System.Data.SqlClient;

namespace myApp
{
public class calcTotals : Page
{
protected DataGrid MyGrid;
private double runningTotal = 0;

private void CalcTotal(string _price)
{
try
{
runningTotal += Double.Parse(_price);
}
catch
{
}
}

public void MyDataGrid_ItemDataBound(object sender, DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
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 )
{
e.Item.Cells[0].Text="Total";
e.Item.Cells[1].Text = string.Format("{0:c}", runningTotal);
}
}

protected void Page_Load(object sender, EventArgs e)
{
SqlConnection myConnection = new SqlConnection("server=Localhost;database=pubs;uid=sa;pwd=;");
SqlCommand myCommand = new SqlCommand("SELECT title, price FROM Titles WHERE price > 0", myConnection);

try
{
myConnection.Open();
MyGrid.DataSource = myCommand.ExecuteReader();
MyGrid.DataBind();
myConnection.Close();
}
catch(Exception ex)
{
HttpContext.Current.Response.Write(ex.ToString());
}
}






















There are 0 records,
Comment:
Must be registered users to comment(必须是注册用户才能发表评论)

Disclaimer Privacy Policy About us Site Map
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.