日期:2014-05-18  浏览次数:20961 次

gridview在第二页时取到第一页第一行值为空
gridview在第二页时取到第一页第一行值为空,可是从第二行开始又可以取到值,什么原因?

C# code
string strId = null;
            strId = GvGcmc.Rows[e.RowIndex].Cells[2].Text.ToString().Trim();
            GvGcmc.DataSourceID = null;
            GvGcmc.AllowPaging = false;   //取消分页
            string strGcmcTemp = null;            
            string strTempId = null;
            GvGcmc.DataSource = AccessDataSource1;
            GvGcmc.DataBind();            
            for (int i = 0; i < GvGcmc.Rows.Count; i++) 
            {
                strGcmcTemp = GvGcmc.Rows[i].Cells[3].Text.ToString().Trim();  //取到的值为空
                strTempId = GvGcmc.Rows[i].Cells[2].Text.ToString().Trim();
                
                if (strId != strTempId)               
                {                    
                    if(strGcmcTemp == cell2)
                    {
                        GvGcmc.AllowPaging = true;  //恢复分页
                        Response.Write("<script> alert('该“工程名称”已存在,请重新输入“工程名称”!')</script>");
                        return;
                    }
                }            
            }
            GvGcmc.AllowPaging = true;  //恢复分页


------解决方案--------------------
是整个一行都是你说的“空”
还是
 strGcmcTemp = GvGcmc.Rows[i].Cells[3].Text.ToString().Trim(); //取到的值为空
这里这个值为空?

建议、断点这里
GvGcmc.DataSource = AccessDataSource1;
查看AccessDataSource1里面有没有"空行"。。。


期待楼下高见。。

------解决方案--------------------
strGcmcTemp = GvGcmc.Rows[i].Cells[3].Text.ToString().Trim();
这里第一行取到的值为空(i=0时)

这句话我理解起来有点费事。。

你是想表达第一行第三列值为空吧?
------解决方案--------------------
探讨

引用:
strGcmcTemp = GvGcmc.Rows[i].Cells[3].Text.ToString().Trim();
这里第一行取到的值为空(i=0时)

这句话我理解起来有点费事。。

你是想表达第一行第三列值为空吧?


对,第一行第三列值为空,第一行第二列值却可以取到。

------解决方案--------------------
探讨

引用:
引用:

引用:
strGcmcTemp = GvGcmc.Rows[i].Cells[3].Text.ToString().Trim();
这里第一行取到的值为空(i=0时)

这句话我理解起来有点费事。。

你是想表达第一行第三列值为空吧?


对,第一行……

------解决方案--------------------
探讨

引用:
引用:

引用:
引用:

引用:
strGcmcTemp = GvGcmc.Rows[i].Cells[3].Text.ToString().Trim();
这里第一行取到的值为空(i=0时)

……

------解决方案--------------------
C# code

strGcmcTemp = GvGcmc.Rows[i].Cells[3].Text.ToString().Trim();  //取到的值为空