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

gridviw第一行第三列取不到值
strGcmcTemp = GvGcmc.Rows[i].Cells[3].Text.ToString().Trim();  
第一行第三列取不到值,用断点跟显示strGcmcTemp =“”;
strTempId = GvGcmc.Rows[i].Cells[2].Text.ToString().Trim();
第一行第二列却可以取到值,求高人指点,以下为代码片段:
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;  //恢复分页


------解决方案--------------------
Cells[3]这是第4列
------解决方案--------------------
就只有Cells[3]取不到值吗?自己调试时看一下该列的字段名是否匹配
------解决方案--------------------
你可以调试当绑定好后是否有值,如果有再取GvGcmc.Rows[i].Cells[3].Text.ToString().Trim();
------解决方案--------------------
探讨

引用:
Cells[3]这是第4列


对,说错了,抱歉

------解决方案--------------------
加断点先看看GvGcmc绑定的数据
------解决方案--------------------
探讨

引用:
引用:

引用:
Cells[3]这是第4列


对,说错了,抱歉

strGcmcTemp = GvGcmc.Rows[i].Cells[3].Value.ToString().Trim();

没有Value这个属性,谢谢。

------解决方案--------------------
你的GridView设置AutoGenerateColumns =true了吗?
------解决方案--------------------
关键是这句GvGcmc.DataSource = AccessDataSource1,这个数据源里面有数据吗?是不是查询语句不对,现在这地方设个断点,看看表的count为多少?