【发布时间】: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