我正在编写一个代码,我需要一个GridView来显示,如下所示,我可以做的是显示列及其值从数据库中获取列,但无法以此格式显示数据。
我的程序从DB获取一个值作为Total显示为Amount 1,并使用该数量进行计算以填充其他Amount值并将两个值之间的差异显示为A:B
有什么想法吗?
--------------------------------------------
Total Amount | | |
--------------------------------------------
Amount 1 | Amount/12 A | |
-------------------------------------------
Amount 2 | Amount/12 B | A:B |
-------------------------------------------
Amount 3 | Amount/12 C | A:C |
-------------------------------------------
Amount ..10 | Amount/12 D | A:D |
-------------------------------------------
Total | | |
--------------------------------------------
答案 0 :(得分:0)
为此,您可以使用RowDataBound事件。下面是RowDataBound的链接。 http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.rowdatabound.aspx
也阅读了这个帖子中的解决方案。 http://forums.asp.net/t/1278588.aspx
答案 1 :(得分:0)
实际上我可以想到两种方法来做到这一点。
你要么采用丑陋的不直观的asp.net方式,要为网格的RowDataBound事件添加一个处理程序。在该处理程序中,如果成员变量为空,则将a值保存到成员变量。否则,如果成员变量是 unmtpy ,您将进行计算并将差异添加为单元格3中的新标签。
另一种方式(我更喜欢)你会使用linq将你的列表(是数据表或其他列表)投影到一个新的匿名对象列表中,该列表具有原始列的属性加上计算属性你额外的专栏。然后,您可以将网格数据绑定到预计列表。
答案 2 :(得分:0)
查看ur数据库中的ur数据是否相同
然后你有一个非常简单的解决方案,就是把div保持gridview每一行的内容并给它一个样式,例如color:blue;像这样