在页面.cs可以这样控制,
((TextBox)this.GridView1.Rows[0].FindControl("company")).Text = "fdafdas";但现在需在弹出新窗口中通过window.opener.的相关属性来设置,在弹出的新窗口中_RowDataBound设置,但不行,要怎么写
e.Row.Attributes.Add("ondblClick", "window.opener.document.all.GridView1.Rows[0].cells[0].company.value='fdafdas';window.close();");

解决方案 »

  1.   

    TextBox t1 = ((TextBox)this.GridView1.Rows[0].FindControl("company"));
    e.Item.Attributes.Add("ondblClick","window.opener.document.getElementById('"+t1.ClientID+"').value='fffff';");
      

  2.   

    window.opener.document.all.GridView1.rows[0].cells[0].firstChild.value ='aaaa';如果textbox是cells[0]的第一个元素的话。另rows 应该用小写。
      

  3.   

    我刚才看了你另外一个贴子。-----------------------------------------------------------------------
    要的就是这种效果,定位到行中的TEXTBOX控件赋值,但上面的这种方法不行
    要确定,第一行第一列的第一个元素就是TextBox但第一行不可能,第一行是表头。
      

  4.   

    window.opener.document.all.GridView1.rows[0].cells[0].firstChild.value ='aaaa';
      

  5.   

    cpp2017(慕白兄)我那个是第一行,第一列,没错但window.opener.document.all.GridView1.rows[0].cells[0].firstChild.value ='aaaa';
    不行window.opener.document.all.确定能控制到GRIDVIEW中的行和列吗???
      

  6.   

    可以的。如果不跨域肯定可以。
    你的gridview没有标题吗?rows[0] 一般指标题行。
      

  7.   

    能不能把gridview客户端生的html代码贴出来看看?
      

  8.   

    <input name="GridView1$ctl02$company" type="text" value=" " onchange="javascript:setTimeout('__doPostBack(\'GridView1$ctl02$company\',\'\')', 0)" onkeypress="if (WebForm_TextBoxKeyHandler(event) == false) return false;" id="GridView1_ctl02_company" disabled="disabled" style="width:200px;" />通过客户端的window.opener.document.all.GridView1_ctl02_company.value='testdata';是可以赋值,但我新增一条时数据会丢失我的GRIDVIEW是自动生成的,cpp2017(慕白兄),如果方便的话,给个QQ号远程连过来看一下比较直观,谢谢