jqGrid + SqlDataSource Post Back Problem
本文关键字:Back Problem Post SqlDataSource jqGrid | 更新日期: 2023-09-27 17:53:00
我在asp.net页面中使用jqGrid。
它在标记文件中绑定到一个SqlDataSource对象,但是我在代码后面将这个SqlDataSource的SelectCommand设置为Page_Load,即:
<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(),但那不起作用。
任何想法吗?
解决了。必须在网格的datarequest事件中分配sql命令,
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