我想用js去绑定GridView,高手给个代码;我有俩个GridView,在第一个GridView中点CheckBox,然后选中行出现在第二个GridView中,不想让页面刷新,而且不用ajax控件。

解决方案 »

  1.   

    第2个gridview怎么显示呢?
    伸缩吗?还是弹出div层?
    gridview输出html代码好,其实也就是talbe和tr,td。你可以利用ajax自己组织。
    还有,ajax != ajax控件
      

  2.   

    <input type="checkbox" onclick="selected(this);" />
    function selected(src)
    {
         //通过src对象获取所在行的tr对象.
    在将tr对象插入表示GridView的table的行集合。
    }
      

  3.   

    第二个GridView伸缩,把第一个GridView中选中的行里的数据添加到第二个中。
    我说的ajax控件就是UpdatePanle,不想用这个控件。
      

  4.   

    到网上搜ajax.dll应该能满足你的要求
      

  5.   

    第二个GridView只是用来显示第一个GridView选中的行吗,还是有其它的用处?
      

  6.   

    恩,就是显示的一个GridView中选中的行,并且保持的时候保持第二个GridView中的值。
      

  7.   

    那就是刚开始,第二个GridView是没有数据的?
      

  8.   

    如果没有数据,根本不生任何GridView的HTML代码,如何将选择的行添加到GridView?
      

  9.   

    用Extjs吧能帮你截取问题,http://leadergxg.25291.84g.com/ExtJs/
      

  10.   

    C:\Documents and Settings\Administrator\Application Data\Tencent\QQ\Temp\VE`]}E)D@~UGLRTDM660F5Q.jpg顶
      

  11.   


    <%@ Page Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">
        
        protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack)
                return;
            BindData();
        }    System.Data.DataTable GetData(int rows)
        {
            System.Data.DataTable dt = new System.Data.DataTable();
            for (int i = 0; i < 6; i++)
            {
                dt.Columns.Add("列" + i);
            }
            for (int i = 0; i < rows; i++)
            {
                System.Data.DataRow dr = dt.NewRow();
                for (int j = 0; j < 6; j++)
                {
                    dr[j] = j.ToString();
                }
                dt.Rows.Add(dr);
            }
            return dt;
        }    void BindData()
        {        GridView1.DataSource = GetData(10);
            GridView1.DataBind();
            GridView2.DataSource = GetData(1);
            GridView2.DataBind();
        }
    </script><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
        <script type="text/javascript">
        function a(t)
        {
            var trr=t.parentNode.parentNode;
            trr.removeChild(trr.firstChild);
            GridView2.appendChild(trr);
        }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
            <asp:GridView ID="GridView1" runat="server">
                <Columns>
                    <asp:TemplateField>
                        <ItemTemplate>
                            <input id="Checkbox1" onclick="a(this)" type="checkbox" />
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>
            <asp:GridView ID="GridView2" runat="server">
            </asp:GridView>
        </form>
    </body>
    </html>可以做到你要的效果,不过在后台取不到动态添加的行,因为是用JS添加的,无法保存视图状态,如果想获取选则的值,可以添加一个隐藏域,每选择一行,将值保存到隐藏域里,然后在后台得到隐藏域的值,可能还有很多不足之处,欢迎指出,共同学习,共同进步!