DataBinding?资料绑定? #7 -- 伤脑筋的 GridView加总、小计(原来如此 / 范例下载)
http://www.dotblogs.com.tw/mis2000lab/archive/2010/10/12/databinding_7_gridview_rowcreated.aspx
透过上一篇文章的问题,DataBinding?资料绑定? #6 -- 伤脑筋的 GridView加总、小计 (2010-10-28 17:48)
我们可以学到更多东西。
只会跟着书本、老师的讲解来作,
往往不如自己遇上问题,然后仔细思考,去破解与了解,更能学到东西!
错误!是自己最好的老师!!
也是找出自己「盲点」的最好机会!
==========================================================
我们回头重新复习一下,MSDN网站的解说是最好的参考数据。
GridView各种事件 -- http://msdn.microsoft.com/zh-tw/library/hf8xwy0t.aspx
- RowDataBound -- 资料列系结至 GridView 控件中的数据时发生。(上一篇文章,我们使用这个事件来作)
- RowCreated -- 建立 GridView 控件中的数据列时发生。
把程序写到 GridView1_RowCreated事件,就搞定了。
请您比较一下两个事件的不同。
请参阅下一篇文章的说明(GridView的 RowCreated事件与 RowDataBound事件的小差异 )
-------------------------------------------------------------------------------------------------------------------
如果您还坚持使用 GridView1_RowDataBound事件来作,可以参考以下方法:
(两种方法,任选其一即可)
1. HTML原始文件,改用 Web控件,代替「DataBinding」的公用变数,例如: <% # 公用变量名称%>
透过 .FindControl()方法来抓取 GridView里面的、样版的「Web控件」,就会正确!!
请看下面的附档 (可下载), 范例4_2就是如此。
2. GridView1_RowDataBound事件里面,不再使用这段 if判别式
1 //if (e.Row.RowType == DataControlRowType.DataRow)
2 //...{
3
4 //}
自己计算循环数(for loop),也可以正确运作。
我相信还有其它方法可以作,
也一定有更好的解释,让大家理解上一个问题的错误。
不嫌弃的话,想听听大家的见解。
VB 与 C#范例下载:DataBinding_GridView加总.rar
转载于:https://www.cnblogs.com/mis2000lab/archive/2010/10/28/DataBinding_7.html