关于Gridview的合计行问题等。

问题描述

本人刚学asp.net(vb.net)不久,对于gridview有很多疑问,请高手指教1、gridview如何添加合计行(网上多是C的版本,没找到vb的版本);2、如何实现Gridview抬头排序,但不排序合计行;3、有没有类似SmartGrid这种可以,事先指定行数,在运行的时候可以在其中输入数据而不用每次都提交服务器,事后一起提交的Grid?

解决方案

解决方案二:
期盼高手
解决方案三:
你用个SQL语句对你的记录进行统计,然后将结果放在Gridview中。
解决方案四:
2楼的方法最容易实现了,推荐
解决方案五:
UP.
解决方案六:
JS合计,再添加行,也是可以滴
解决方案七:
在GridView的模版列的FooterTemplate中放合计的行.
解决方案八:
很好的需求,没有考虑过呢。顺便学习了。
解决方案九:
在GridView的模版列的FooterTemplate中放合计的行.抬头排序,GridView自带一个protectedvoidGridView1_Sorting(objectsender,GridViewSortEventArgse){}具体代码怎么写,你可以到网上去查看,很多。
解决方案十:
合计行可以自己用函数来实现,就是读取各行的数据相加,把结果添加到最后一列。在合计行的时候同时进行排序,这样新添加的一列就不会被排序了,排序的方法很多,用冒泡法最容易实现。
解决方案十一:
合计自己用函数来实现,就是读取各行的数据相加,把结果添加到最后一行。在进行排序之前将最后一行用row保存起来。。删除视图上的内容,,然后利用控件自身的排序功能排序(allowsorting属性)排序后在将先前保存到row中的行添加到视图上就成了
解决方案十二:
up
解决方案十三:
up
解决方案十四:
我刚才做的时候有个这样的问题如果说是在C#里面的话你用DataTable获取到值然后用DataTable的Compute()方法[code=Asp.NET]publicvoidShowMemberInfo(){deal.u_id=id;DataTableDT=WebManager.List(deal,"","ID,yyyymmdd,m_id,o_cd,price,Points","&u_id=","[OrderNo]");SumScore=Convert.ToInt32(DT.Compute("Sum(Points)","Points>0"));--看下这个地方我要对Points这个字段进行统计GridView1.DataSource=DT;Ascpager1.DataSource=DT.DefaultView;GridView1.DataSource=Ascpager1.PageDataSource;GridView1.DataBind();}[/code]
解决方案十五:
publicvoidShowMemberInfo(){deal.u_id=id;DataTableDT=WebManager.List(deal,"","ID,yyyymmdd,m_id,o_cd,price,Points","&u_id=","[OrderNo]");SumScore=Convert.ToInt32(DT.Compute("Sum(Points)","Points>0"));--看下这个地方我要对Points这个字段进行统计GridView1.DataSource=DT;Ascpager1.DataSource=DT.DefaultView;GridView1.DataSource=Ascpager1.PageDataSource;GridView1.DataBind();}

解决方案:
[code=ASP.NET]publicvoidShowMemberInfo(){deal.u_id=id;DataTableDT=WebManager.List(deal,"","ID,yyyymmdd,m_id,o_cd,price,Points","&u_id=","[OrderNo]");SumScore=Convert.ToInt32(DT.Compute("Sum(Points)","Points>0"));--看下这个地方我要对Points这个字段进行统计GridView1.DataSource=DT;Ascpager1.DataSource=DT.DefaultView;GridView1.DataSource=Ascpager1.PageDataSource;GridView1.DataBind();}[/code]
解决方案:
咦!好奇怪啊发不了代码型的LZ你先看下啊http://www.cnblogs.com/dlwang2002/archive/2007/10/24/936501.html
解决方案:
已经显示的用For语句。数据库读记录的用SQL语句。
解决方案:
学习了
解决方案:
在数据库合计吧
解决方案:
学习下,up,up!!
解决方案:
<%@PageLanguage="VB"AutoEventWireup="true"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><scriptrunat="server">FunctionCreateDataSource()AsICollectionDimdtAsSystem.Data.DataTable=NewSystem.Data.DataTableDimdrAsSystem.Data.DataRowdt.Columns.Add(NewSystem.Data.DataColumn("学生班级",GetType(System.String)))dt.Columns.Add(NewSystem.Data.DataColumn("学生姓名",GetType(System.String)))dt.Columns.Add(NewSystem.Data.DataColumn("语文",GetType(System.Decimal)))dt.Columns.Add(NewSystem.Data.DataColumn("数学",GetType(System.Decimal)))dt.Columns.Add(NewSystem.Data.DataColumn("英语",GetType(System.Decimal)))dt.Columns.Add(NewSystem.Data.DataColumn("计算机",GetType(System.Decimal)))DimiAsInteger=0Whilei<8DimrdAsSystem.Random=NewSystem.Random(Environment.TickCount*i)dr=dt.NewRowdr(0)="班级"+i.ToStringdr(1)="学生"+i.ToStringdr(2)=System.Math.Round(rd.NextDouble*100,2)dr(3)=System.Math.Round(rd.NextDouble*100,2)dr(4)=System.Math.Round(rd.NextDouble*100,2)dr(5)=System.Math.Round(rd.NextDouble*100,2)dt.Rows.Add(dr)System.Math.Min(System.Threading.Interlocked.Increment(i),i-1)EndWhileDimdvAsSystem.Data.DataView=NewSystem.Data.DataView(dt)ReturndvEndFunctionProtectedSubPage_Load(ByValsenderAsObject,ByValeAsEventArgs)IfNotIsPostBackThenGridView1.BorderColor=System.Drawing.Color.DarkOrangeGridView1.DataSource=CreateDataSource()GridView1.DataBind()EndIfEndSubProtectedSubGridView1_RowCreated(ByValsenderAsObject,ByValeAsGridViewRowEventArgs)Ife.Row.RowType=DataControlRowType.HeaderThenDimrowHeaderAsGridViewRow=NewGridViewRow(0,0,DataControlRowType.Header,DataControlRowState.Normal)DimHeaderBackColorAsString="#EDEDED"rowHeader.BackColor=System.Drawing.ColorTranslator.FromHtml(HeaderBackColor)DimnewCellsAsLiteral=NewLiteralnewCells.Text="表头文字1</th>"+_"<thcolspan='2'>表头文字2</th>"+_"<thcolspan='2'>表头文字3</th>"+_"<th>表头文字4</th>"+_"</tr>"+_"<trbgcolor='"+HeaderBackColor+"'>"+_"<thcolspan='2'>表头文字5</th>"+_"<throwspan='2'>表头文字6</th>"+_"<thcolspan='2'>表头文字7</th>"+_"</tr>"+_"<trbgcolor='"+HeaderBackColor+"'>"+_"<th>表头文字8</th>"+_"<th>表头文字9</th>"+_"<th>表头文字10</th>"+_"<th>表头文字11</th>"+_"<th>表头文字12"DimcellsAsTableCellCollection=e.Row.CellsDimheaderCellAsTableHeaderCell=NewTableHeaderCellheaderCell.RowSpan=2headerCell.Controls.Add(newCells)rowHeader.Cells.Add(headerCell)rowHeader.Cells.Add(headerCell)rowHeader.Visible=TrueGridView1.Controls(0).Controls.AddAt(0,rowHeader)EndIfEndSubProtectedSubGridView1_RowDataBound(ByValsenderAsObject,ByValeAsGridViewRowEventArgs)Ife.Row.RowType=DataControlRowType.HeaderThene.Row.Attributes.Add("style","background:#9999FF;color:#FFFFFF;font-size:14px")Elsee.Row.Attributes.Add("style","background:#FFF")EndIfEndSub</script><htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>为GridView添加多层表头</title></head><body><formid="Form1"runat="server"><asp:GridViewID="GridView1"runat="server"CellSpacing="1"CellPadding="3"Font-Size="12px"Width="600px"BackColor="#000000"BorderWidth="0"OnRowDataBound="GridView1_RowDataBound"OnRowCreated="GridView1_RowCreated"></asp:GridView></form></body></html>
解决方案:
俺是学c#的,呵呵,不好意思,看过了,顶
解决方案:
引用2楼yagebu1983的回复:

你用个SQL语句对你的记录进行统计,然后将结果放在Gridview中。

排序时会打乱,非常不好使的
解决方案:
引用10楼w136712058的回复:

合计自己用函数来实现,就是读取各行的数据相加,把结果添加到最后一行。在进行排序之前将最后一行用row保存起来。。删除视图上的内容,,然后利用控件自身的排序功能排序(allowsorting属性)排序后在将先前保存到row中的行添加到视图上就成了

相法不错,我想办法试试
解决方案:
引用14楼ws_hgo的回复:

VB.NETcodepublicvoidShowMemberInfo(){deal.u_id=id;DataTableDT=WebManager.List(deal,"","ID,yyyymmdd,m_id,o_cd,price,Points","&u_id=","[OrderNo]");SumScore=Convert.ToInt32(DT.Compute("Sum(Points)","Points>0"));--看下这个地方我要对Points这个字段进行统计GridView1.DataSource=DT;Ascpager1.DataSource=DT.Defa…

能说具体点吗?ASP.NET刚自学不久
解决方案:
SQL语句统计Functioncounttotal1()'统计记录数DimconnAsNewOleDbConnection("provider=microsoft.jet.oledb.4.0;datasource="&Server.MapPath(".dbstudents.mdb"))Dimstrsql1,strsql2AsStringstrsql1="SELECTcount(l_id)FROMbDimcmdAsNewOleDbCommand(strsql2,conn)conn.Open()counttotal1=cmd.ExecuteScalarconn.Close()EndFunctioncounttotal1为统计记录数
解决方案:
引用26楼zhaojinwen的回复:

SQL语句统计Functioncounttotal1()'统计记录数DimconnAsNewOleDbConnection("provider=microsoft.jet.oledb.4.0;datasource="&Server.MapPath(".dbstudents.mdb"))Dimstrsql1,strsql2AsStringstrsql1="SELECTcount(l_id)FROMbDimcmdAsNewOleDbCommand(strsql2,conn)conn.Open()counttotal1=cmd.ExecuteScalarco…

这个没意思

时间: 2024-10-29 22:41:47

关于Gridview的合计行问题等。的相关文章

asp.net如何得到GRIDVIEW中某行某列值的方法

根据某列的值改变其样式最好的方法是在GridView的DataRowBound事件中想办法.在GridView中的行绑定数据后将立即执行 DataRowBound事件.DataRowBound事件使用GridViewRowEventargs类作为事件变量.通过事件变量你能够利用 GridViewRowEventArgs属性操作已经绑定数据的行. 复制代码 代码如下: protected void GridView1_RowDataBound(object sender, GridViewRowE

yii1 gridview 点击行事件

问题描述 yii1 gridview 点击行事件 yii1 gridview 有点击行事件吗? yii1 gridview 有点击行事件吗? 求解? 解决方案 http://www.yiichina.com/tutorial/348

添加合计行,求教sql问题

问题描述 添加合计行,求教sql问题 select c.dept_namea.B_num as 本期case when sum(b.T_num)=0 then 0 else sum(a.B_num)-sum(b.T_num) end 本期增加from (select count(PERSION_NAME) B_numdept_codeyearacct_month from BASE_PERSON group by dept_codeyearacct_month) a LEFT JOIN(sele

c# gridview js-js按行操作gridview,gridview中有若干行数据

问题描述 js按行操作gridview,gridview中有若干行数据 点击btn实现行变色,开始全无色,点击一次第一行变色,第二次点击第二行变色 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="jsgrid.aspx.cs" Inherits="tryeccel.jsgrid" %> <!DOCTYPE html> 无标题页 <

如何实现点击gridview中某行某列的button,使同行同列的其他button变成不可点击状态

问题描述 如何实现点击gridview中某行某列的button,使同行同列的其他button变成不可点击状态 如何实现点击gridview中某行某列的button,使同行同列的其他button变成不可点击状态 解决方案 第一种方法: 比如button在gridview的(x,y),button的click事件中,获取button的坐标,遍历gridView的x行,将按钮的isEnabled状态设为false:遍历gridView的y列,将按钮的isEnabled状态设为false. 第二种方法:

关于在Asp.net中子页面的GridView某行传值给父页面GridView中某行的问题

问题描述 自己做了一个测试,在父页面有一个GridView,有一个"插入新行"的按钮,当点击按钮将会显示GridView的脚注Footer,通过脚注来增加一行,在字段列"产品小类名称"里有一个弹出子页面的按钮,当点击这个按钮就会弹出子页面产品小类名称的GridView,当点击GridView某行,就把数据传递到父页面的GridView的脚注行.我在父页面用的是window.open(),而不是showModalDialog()(不需要用模态窗体),但当我点击双击子页

在link环境下,如何在codefirst里制作带有合计行的excel数据统计表?

问题描述 在link环境下,如何在codefirst里制作带有合计行的excel数据统计表? 在link环境下,如何在codefirst里制作带有合计行的excel数据统计表? 解决方案 http://www.excelpx.com/thread-255020-1-1.html

如何在TabPanel 中获取选中GridView里面的行?

问题描述 如何在TabPanel中获取选中GridView里面的行?放在外面可以. 解决方案 解决方案二:放在里面有什么区别吗TabPanel不过是个容器,跟Panel也没有什么本质上的区别啊解决方案三:只要这个容器还在这个窗体中,就不涉及跨窗体传值不管套了多少层容器,你还是可以直接访问最里面的GridView

asp.net如何得到GRIDVIEW中某行某列值的方法_实用技巧

根据某列的值改变其样式最好的方法是在GridView的DataRowBound事件中想办法.在GridView中的行绑定数据后将立即执行DataRowBound事件.DataRowBound事件使用GridViewRowEventargs类作为事件变量.通过事件变量你能够利用GridViewRowEventArgs属性操作已经绑定数据的行. 复制代码 代码如下: protected void GridView1_RowDataBound(object sender, GridViewRowEve