问题:下列JS是获取GridView中选中的某一行各列的值,我想把获取到的值由cb返回到另一页面中并自动填到相应的文本框,
       
       在另一页面怎么设置JS获取返回的值?
    <script language="javascript">
    function show(e) 
    { 
     var cb=null;
     var aa=e.parentNode.parentNode;
     for(var i=1;i<aa.cells.length;i++) 
      { 
        cb=aa.cells[i].innerText; 
      } 
     window.dialogArguments.setValue(cb);
     window.close();
   }
  </script>        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" AllowPaging="true" 
            BackColor="White" BorderColor="#3366CC" BorderStyle="None" BorderWidth="1px" PageSize="7"
            CellPadding="4" CssClass="css" Width="450px" OnRowDataBound="GridView1_OnRowDataBount" OnPageIndexChanging="GridView1_OnPageIndex">
            <PagerSettings FirstPageText="首页" LastPageText="尾页" Mode="NextPreviousFirstLast" NextPageText="下一页" PreviousPageText="上一页" />
            <FooterStyle BackColor="#99CCCC" ForeColor="#003399" />
            <RowStyle BackColor="White" ForeColor="#003399" />
            <Columns>
                <asp:TemplateField HeaderText="选择">
                 <ItemTemplate><asp:CheckBox ID="chk" runat="server" onclick="show(this)" /></ItemTemplate>
                    <HeaderStyle Wrap="False" />
                    <ItemStyle HorizontalAlign="Center" Wrap="False" />
                </asp:TemplateField>
                <asp:BoundField DataField="pn" HeaderText="零件名称" >
                    <HeaderStyle Wrap="False" />
                    <ItemStyle Wrap="False" />
                </asp:BoundField>
                <asp:BoundField DataField="st" HeaderText="零件规格" >
                    <HeaderStyle Wrap="False" />
                    <ItemStyle Wrap="False" />
                </asp:BoundField>
                <asp:BoundField DataField="offer" HeaderText="供应商" >
                    <HeaderStyle Wrap="False" />
                    <ItemStyle Wrap="False" />
                </asp:BoundField>
                <asp:BoundField DataField="price" HeaderText="单价" >
                    <HeaderStyle Wrap="False" />
                    <ItemStyle HorizontalAlign="Center" Wrap="False" />
                </asp:BoundField>
            </Columns>
            <PagerStyle BackColor="#99CCCC" ForeColor="#003399" HorizontalAlign="Left" />
            <SelectedRowStyle BackColor="#009999" Font-Bold="True" ForeColor="#CCFF99" />
            <HeaderStyle BackColor="#003399" Font-Bold="True" ForeColor="#CCCCFF" />
        </asp:GridView>

解决方案 »

  1.   

    选择页面是子窗口的话可以用下面的语句来赋值
    opener.document.getElementById("控件ID").value=aa.cells[i].innerText;
      

  2.   

    其实类似的效果很简单,不知你想要的效果是否是这样
    在RowDataBound事件中加
    e.row.attributes.add("ondblclick","<script>jsfunction('"+e.row.cells[1].text+"');</script>");
      

  3.   

    不,我想要的效果是选中GridView某一行的,然后把这一行各列的值返回到父窗口各自对应的文本框中。我已经把值取出来,但就是不知道在父页中如何取得这些值,并自动把它们填到相应的文本框中。
      

  4.   

    父窗口?
    是什么WINForm 好事WEBFORM?JS不好弄哦。除非回调。
    你可以传参数啊。或者viewstate