jqGrid + SqlDataSource Post Back Проблема - PullRequest
1 голос
/ 23 апреля 2011

Я использую jqGrid на странице asp.net.

Он привязан к объекту SqlDataSource в файле разметки, но я установил SelectCommand этого SqlDataSource для Page_Load в code-behind, то есть:

    <asp:SqlDataSource runat="server" ID="SqlDataSource1"  
    ConnectionString="<%$ ConnectionStrings:FooDatabase %>" > 
    </asp:SqlDataSource>     

    <cc1:JQGrid runat="server" ID="JQGrid1" DataSourceID="SqlDataSource1"  
        Width="600px" Height="462px" onsearch="JQGrid1_Searching" 
        PagerSettings-PageSize="20" > 


    protected void Page_Load(object sender, EventArgs e)
    {
        SqlDataSource1.SelectCommand =
            "SELECT [Foo] From [FooTable]", 
    }

Это прекрасно работает.

Но когда я назначаю ту же команду SelectCommand в событии нажатия кнопки, данные не загружаются в jqGrid.Т.е.:

    protected void btn_Submit_Click(object sender, EventArgs e)
    {
        SqlDataSource1.SelectCommand =
            "SELECT [Foo] FROM [FooTable]"
    } 

Я пытался вызвать JQGrid.DataBind () при обратной передаче, но это не сработало.

Есть мысли?

1 Ответ

1 голос
/ 23 апреля 2011

Решил это.Необходимо назначить команду sql внутри события DataRequesting сетки,

    protected void JqGrid_Requesting(object sender, Trirand.Web.UI.WebControls.JQGridDataRequestEventArgs e)
    { 
        if (Session["Cmd"] != null)
        {
            SqlDataSource1.SelectCommand = Session["Cmd"] as string; 
        }
    }

См. Следующую ссылку: http://www.trirand.net/forum/default.aspx?g=posts&t=23

...