我的GridView绑定了一个SqlDataSource,现在我想让它显示其他查询语句的结果。我修改了SelectedCommand字符串,
并用GridView.DataBind()绑定了一下,得到的仍然是原来的结果,怎么回事呢?

解决方案 »

  1.   


    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="Usr_ID"
            DataSourceID="gv1_ds" EnableTheming="False" Style="z-index: 100; left: 229px;
            position: absolute; top: 274px" AllowPaging="True" CellPadding="4" ForeColor="#333333" GridLines="None" PageSize="6" EmptyDataText="查询记录为空!">
    </asp:GridView>
    <asp:SqlDataSource ID="gv1_ds" runat="server" ConnectionString="<%$ ConnectionStrings:reserveConnectionString %>"
            SelectCommand="SELECT [Usr_ID], [Usr_Name], [Usr_CartNum], [Usr_State] FROM [T_GH_User]">
        </asp:SqlDataSource>
    后台代码:protected void btnrch_Click(object sender, EventArgs e)
        {
            if (IsValid)
            {
                gv1_ds.SelectCommand = "SELECT [Usr_ID], [Usr_Name], [Usr_CartNum], [Usr_State] FROM [T_GH_User] WHERE [Usr_CartNum] = '" + txtid.Text.ToString() + "'";
                GridView1.DataBind();
                GridView1.SelectedIndex = -1;
            }
        }
      

  2.   

    如果SqlDataSource不是在aspx里和GridView关联的话,要重新赋值GridView的DataSource为这个SqlDataSource
      

  3.   

    上面那帖子当我没说会不会IsValid为false,下面的绑定代码根本没执行?