【问题标题】:How to show jqgrid data dynamically using entityframwork with sql data?如何使用带有 sql 数据的实体框架动态显示 jqgrid 数据?
【发布时间】:2014-10-14 07:06:30
【问题描述】:

各位老板,我使用 sql pivot 在网格中显示员工产品。当我在管理工作室中执行查询时,它工作正常,但问题是当我想在 jqgrid 中显示动态行和列的数据时,它不起作用。我是 jqgrid 的新手。

这是我的控制器操作方法

public ActionResult FindOrderByEmployeeCall() 
        {
            var query = (from fo in db1.FindOrderByEmp1()
                         select fo).ToList();
            return Json(query, JsonRequestBehavior.AllowGet);
        }

我在视图页面中在 jqgrid 中显示数据的 ajax 方法是

<script type="text/javascript">
    $(document).ready(function () {
        $.ajax({
            type: "POST",
            url: "/Invoice/FindOrderByEmployeeCall/",
            dataType: "json",
            success: function(result){
                var colD = result.couponStripList,
                    colM = result.colModelList;

                $("#list").jqGrid({
                    //datatype: 'local',
                    data: "",
                    gridview: true,
                    colModel :colM,
                    height: "auto",
                    loadComplete: function(data){
                        alert('loaded');
                    },
                    loadError: function(xhr,status,error){
                        alert('error');
                    }
                });
            },
            error: function(x, e){
                alert(x.readyState + " "+ x.status +" "+ e.msg);
            }
        });
    });
</script>

我的 sql 数据透视查询是

ALTER proc [dbo].[FindOrderByEmp1]

as
BEGIN
SET FMTONLY OFF;
DECLARE @query nvarchar(max)
DECLARE @Product NVARCHAR(max),@Product1 NVARCHAR(max)
SELECT  @Product = STUFF(( SELECT distinct'],['+  rtrim(ProdId) FROM OrderDetails ORDER BY '],['+ rtrim(ProdId) FOR XML PATH('')), 1, 2, '')+']'
set @Product1 =SUBSTRING(( select distinct ',IsNull(['+rtrim(ProdId)+'],0) as ['+rtrim(ProdId)+']' from OrderDetails for xml path('')),2,8000)

SET @query =
'SELECT EmpId,'+@Product1+'  FROM
(

    SELECT d.ProdId,m.EmpId,isnull(convert(int,d.Qty),0.0) as oqty
    FROM OrderMaster m inner join OrderDetails d on m.OrdId=d.OrdId
)t
PIVOT (SUM(oqty)
 FOR ProdId
IN ('+@Product+')) AS pvt' 
EXECUTE (@query)

end

请帮帮我..

【问题讨论】:

    标签: javascript asp.net-mvc-4 c#-4.0 jqgrid


    【解决方案1】:

    JqGrid 支持枢轴网格见以下链接

    http://www.trirand.com/jqgridwiki/doku.php?id=wiki:pivotsettings

    如果您想在运行时更改行和列,它只加载一次,在创建和加载网格之前使用 GridUnload。

    jqGrid GridUnload/ GridDestroy

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-13
      • 1970-01-01
      • 2014-04-17
      • 1970-01-01
      • 1970-01-01
      • 2018-10-18
      • 1970-01-01
      相关资源
      最近更新 更多