zoukankan      html  css  js  c++  java
  • 对于GridView控件的RowDataBount事件的错误理解

    今天在做一个程序,有个字段存的是分钟,绑定到GridView时要转变成小时,自然会用到GridView的 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 + "分钟";
            }

    不知道理解的对不对,先记录下来,防止以后犯下同样的错误、

  • 相关阅读:
    WEB测试方法(二)
    WEB测试方法(一)
    JSP技术(六)
    JSP技术(七)
    JSP技术(四)
    JSP技术(三)
    JSP技术(五)
    JavaScript语言和jQuery技术(四)
    单元测试的四个阶段
    什么是集成测试
  • 原文地址:https://www.cnblogs.com/sulei4471/p/3044275.html
Copyright © 2011-2022 走看看