请问在ASP.NE里面,如果某一列是金额,怎么样算出这1列的总值?因为要考虑分页,这里要算出第一页的金额列的总计,第2页金额的总计,,==?
解决方案 »
- 新人学习 求助 为什么是列名Admin无效!
- asp.net 如何用input type=file 上传图片?
- 有使用微软AJAX的例子吗?
- |M| 求个SQL生成查询语句的工具
- |M| 我的网站页面经常会被别入添加了ifram 这个要怎么办啊
- access中sql插入语句参数化的使用?
- 如何自定义控件?与自建类一样吗?
- 如果向数据库里添加有' " [ 的记录
- 使用DataSet修改xml格式的文件问题,请帮助
- <%%>和<script runat="server"></script>中的变量是否可以互用?
- 关于button的问题,急~~~~~~~~~~~~
- ==========================实在无助了,请求各位大哥帮忙==========================================
例如:是10行,可以去循环DataGrid 10次相加不就OK么
Create PROCEDURE dbo.Page_Change
@PageSize int,
@CurrentPage int,
@pagesum money out
AS
select *,IDENTITY(int,1,1) as Num into #TempAuthors from 表
select * from #TempAuthors where Num > (@PageSize*@CurrentPage) and Num < (@PageSize*@CurrentPage+@PageSize+1) select @pagesum=sum(字段) from #TempAuthors
RETURN
这样只要邦定数据就可以了,方便而且效率高。
CREATE PROCEDURE [dbo].[proc_page]
(
@PageSize int, --每页记录
@PageIndex int, --当前页数,1开始
@Condition varchar(8000), --查询条件
@TheTable varchar(8000), --表名
@SelectField varchar(8000), --要选择的字段
@OrderBy varchar (8000), --OrderBy字句,包括order,必须是主健排序在第一位
@TableID varchar (8000) --table主键
)
AS
begin
declare @Sql varchar(8000)--返回记录
if @PageIndex!=1
begin
set @Sql='select top ' + cast(@PageSize as varchar(10)) + ' ' + @SelectField + ' from ' + @TheTable + ' ' + @Condition + ' and '
+ @TableID +'>(select max('+@TableID+') from (select top ' + cast((@PageSize*(@PageIndex-1)) as varchar(10))+' ' +@TableID+' from ' + @TheTable + ' ' + @Condition
+ ' ' + @OrderBy +')as a) ' + @OrderBy
end
else
begin
set @Sql='select top '+ cast(@PageSize as varchar(10)) + ' ' + @SelectField+' from '+ @TheTable + ' ' + @Condition + @OrderBy
end
exec(@Sql)
--返回总数
set @Sql='select count(' + @TableID + ') from ' + @TheTable +' ' + @Condition
exec(@Sql)
--返回金额
set @Sql='select sum(' + @TableID + ') from ' + @TheTable +' ' + @Condition
exec(@Sql)
end
GO
<asp:DataGrid id="DataGrid1" runat="server">
<Columns>
<asp:BoundColumn DataField="username" HeaderText="姓名"></asp:BoundColumn>
<asp:BoundColumn DataField="post_time" HeaderText="姓"></asp:BoundColumn>
<asp:BoundColumn DataField="content" HeaderText="问题"></asp:BoundColumn>
<asp:BoundColumn DataField="huida" HeaderText="数字"></asp:BoundColumn>
</Columns>
</asp:DataGrid>
后台cs
private int sum=0;
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{if (e.Item.ItemIndex>=0)
{
sum+=int.Parse(e.Item.Cells[3].Text);
}
else if(e.Item.ItemType==ListItemType.Footer)
{
e.Item.Cells[0].Text="总和为:";
e.Item.Cells[1].Text=sum.ToString();
e.Item.Cells[2].Text="平均值为";
e.Item.Cells[3].Text=((int)(sum/DataGrid1.Items.Count)).ToString(); }}