我在GridView1中,应用编辑模版在字段里添加了一个TextBox控件,我把TextBox控件改名叫tfen,我把一个数据库邦定到GridView1中,
((TextBox)GridView1.Rows[e.RowIndex].FindControl("tfen")).Text这句是不是读TextBox控件中的内容的。还有我要是想给TextBox控件赋值怎么写?

解决方案 »

  1.   

    可以读到数据的
    数据库邦定到GridView1 ,显示结果一般都是很多结果集,所以用foreach循环添加到一个ArrayList或者泛型集合类里面。在进行操作绑定到数据库后就赋值了阿,代码也可以复制,遍历控件出来赋值
      

  2.   

    TextBox txt;
    txt=((TextBox)GridView1.Rows[e.RowIndex].FindControl("tfen")).Text;
    if(txt!=null) txt.Text="值"
    //另外关键看你的语句写在什么事件里,如果是临时列,不一样的事件可能找不到
      

  3.   

    纠正一下哦:(
    TextBox txt;
    txt=((TextBox)GridView1.Rows[e.RowIndex].FindControl("tfen"));
    if(txt!=null) txt.Text="值";
    //另外关键看你的语句写在什么事件里,如果是临时列,不一样的事件可能找不到
      

  4.   

    我想在 protected void GridView3_RowDataBound(object sender, GridViewRowEventArgs e)
           { string cj = "123456";
            TextBox txt;
            txt = ((TextBox)GridView3.Rows[e.RowIndex].FindControl("tfen"));
            if (txt != null)
            {
                txt.Text = cj.Trim().Substring(0, cj.Trim().Length - 4);
            }
           }
    写上面的代码,然后F5运行说
    “System.Web.UI.WebControls.GridViewRowEventArgs”并不包含“RowIndex”的定义
    是什么意思,我哪里写错了
      

  5.   

    GridViewRowEventArgs 只有 Row 属性...RowIndex 是 GridViewUpdateEventArgs、GridViewDeleteEventArgs、GridViewCancelEditEventArgs 才有的...显然你用错事件了...
      

  6.   

    哦,谢谢指教,那我要想用,row属性怎么办
      

  7.   

    1,用个Button触发RowEditing事件,最好用模版列
    2,在RowUpdatting事件里写你的代码
    具体可以参考出错提示,查MSDN