最近玩那个GridView(Web) 控件,有件事情比较疑惑,怀疑是这控件的bug
在GridView中有数据的情况下,比如GridView1
假设直观上看有 3 行 4 列
用下边这样是错的:
For( int i=0;i<GridView1.Rows.Count;i++){
For(int k=0;k<GridView1.Columns.Count;k++){  //这里错

GridView1.Rows[i].Cells[k].Text = “abcd”;   //这里没错

}
}
目前只能这样了:
For( int i=0;i<GridView1.Rows.Count;i++){
For(int k=0;k<4;k++){

GridView1.Rows[i].Cells[k].Text = “abcd”;   //这里没错

}
}
还有就是:
GridView1.Columns[k].HeaderText
也错.
总之跟 Columns 有关的就有问题.
请赐教!

解决方案 »

  1.   

    //大概是这样的,外边的循环没错,调试能看到rows.Count=33等,而this.GridView1.Columns.Count总是为0
    for (int i = 0; i < this.GridView1.Rows.Count; i++)
    {
        //for (int j = 2; j < this.GridView1.Columns.Count; j++)
        for (int j = 2; j < cam.GetJobGridViewColNum(cf.SplitIDNameAndReturnID(this._typeClass)); j++)
        {
    strSql =  "...='"+this.GridView1.Rows[i].Cells[j].Text+"'..." //这里是对的
                 +"...='"+this.GridView1.Columns[j].HeaderText+"'...";     //这里是错的 
    try
             {
      cf.ExecuteSqlCommand(strSql);
    }
    catch (Exception ex)
    {
      Response.Redirect("../Error/Page_Error.aspx?ErrMsg=" + ex.Message.Replace("\n", " "));
    }
        }
    }