对于GridView控件的RowDataBount事件的错误理解
2013-04-26 10:34
351 查看
今天在做一个程序,有个字段存的是分钟,绑定到GridView时要转变成小时,自然会用到GridView的 RowDataBound事件。
但是我犯了一个严重的错误,在这个事件中我又用了循环来处理数据。
因为开始只在数据库中添加了一条测试数据,所以不会出现什么错误,后来又添加了一条,一运行就会出错,是因为字符串格式问题,这才恍然大悟,
其实RowDataBound事件就是逐条数据绑定,绑定后才会执行这个事件,说的容易明白一点,他本身就是个循环。 所以,直接换成这样过即可。
不知道理解的对不对,先记录下来,防止以后犯下同样的错误、
但是我犯了一个严重的错误,在这个事件中我又用了循环来处理数据。
//foreach (GridViewRow gr in GVData.Rows) //{ // string a = gr.Cells[5].Text; // TimeSpan ts = new TimeSpan(0, int.Parse(gr.Cells[5].Text),0); // gr.Cells[5].Text = ts.Hours + "小时" + ts.Minutes + "分钟"; //}
因为开始只在数据库中添加了一条测试数据,所以不会出现什么错误,后来又添加了一条,一运行就会出错,是因为字符串格式问题,这才恍然大悟,
其实RowDataBound事件就是逐条数据绑定,绑定后才会执行这个事件,说的容易明白一点,他本身就是个循环。 所以,直接换成这样过即可。
if (e.Row.RowType == DataControlRowType.DataRow) { GridViewRow gr = e.Row; string a = gr.Cells[5].Text; TimeSpan ts = new TimeSpan(0, int.Parse(gr.Cells[5].Text), 0); gr.Cells[5].Text = ts.Hours + "小时" + ts.Minutes + "分钟"; }
不知道理解的对不对,先记录下来,防止以后犯下同样的错误、
相关文章推荐
- Android中对GridView, ListView等滚动控件的Touch事件onInterceptTouchEvent,onTouchEvent理解
- GridView的RowCommand事件中取得控件值
- 总结了一下 GridView控件的常用事件触发时序
- GridView控件RowDataBound事件中获取列字段值的几种途径 !!!
- 对于android触摸事件模型的一些理解
- 对于委托的理解 委托和事件
- GridView控件事件详解
- Gridview Row事件响应方法无法获取其它UpdatePanel中控件数据的解决办法
- 响应 GridView 控件中的按钮事件
- UCOS-II:对于信号量,互斥信号量,事件标志组的个人理解-转
- ASP.NET2.0中的GRIDVIEW控件在使用TemplateField中的LinkButton时如何在RowCommand事件中找到当前行index的方法
- GridView遍历各行的控件和控件事件
- 扩展GridView控件(0) - 基本架构、增加事件和要点汇总
- 扩展GridView控件(0) - 基本架构、增加事件和要点汇总
- 更正网上GridView控件与下拉菜单DropDownList结合示例第二项错误
- GridView控件RowDataBound事件中获取列字段途径
- 解决类型“GridView”的控件 必须放在具有 runat=server 的窗体标记内 错误的解决方法
- GridView 控件事件发生顺序
- 在学习ASP.NET中,GridView 控件的RowDataBound事件的使用详解
- [GridView控件]事件详解