如何使用json填充flexi网格

时间:2013-07-10 07:25:49

标签: jquery asp.net json flexigrid

我是flexi网格的新手,想要绑定数据

代码

        $(document).ready(function() {

        $(".fgrid").flexigrid({
            url: '../_AJAX/ajaxCall-InterestSubsidy.aspx',
            dataType: 'json',
            type: 'POST',
            data: { 'MODE': 'BindFlexiGrid' },
            colModel: [
                       { display: 'Id', name: 'DistrictId', width: 20, sortable: true, align: 'left' },
                       { display: 'Name', name: 'DistrictName', width: 20, sortable: true, align: 'left' }
                      ],
            sortname: "Name",
            sortorder: "asc",
            usepager: true,
            title: 'List of District',
            useRp: true,
            rp: 10,
            showTableToggleBtn: true,
            width: 805,
            height: 200

        });


    });

服务器端代码

protected void Page_Load(object sender, EventArgs e)
{
    if (Request.Form["MODE"] != null)
    {
        if (Request.Form["MODE"] == "BindGrid")
        {
            SelectState();
        }
        else if (Request.Form["MODE"] == "BindFlexiGrid")
        {
            SelectState2();
        }
    }


}



public void SelectState2()
{
    try
    {
        DataTable dt;
        DataSet ds = new DataSet();
        pList = new List<SqlParameter>();
        dt = sa.GetDataTableWithSP("SPSelectDistrictWithSelect", pList);

        Response.Write(JsonConvert.SerializeObject(dt, Formatting.Indented));
    }
    catch (Exception e)
    {

    }
}

我在flexi网格中设置了'data'属性,我不知道它是否有效,但我想将某些内容传递给'ajaxCall-InterestSubsidy.aspx',因此可以调用正确的方法。

1)如何将某些东西(例如Request.Form [“MODE”])传递给服务器端代码?

2)绑定这个flexi网格的正确方法是什么?

3)使用上面的代码我无法填充此网格

4)任何人都可以给我一个适当的flexi网格文档

1 个答案:

答案 0 :(得分:0)

查看post-json.php的源代码。很可能将这个例子剥离了很多。

要记住的基本事项:

  1. ajax php页面顶部的变量是必需的。您将在查询中使用它们,Flexigrid默认将它们发布到您的ajax页面。
  2. 然后,将您的查询处理为json响应并在该页面上回显它。查看this answer有关如何构建json的信息。
  3. 您的ajax页面将是您在调用页面的$(document).ready()中设置的Flexigrid参数中用于ajax网址的链接。