我不确定我在哪里做错了,我无法将数据填充到jqGrid控件中。
尝试了不同的文章,并验证了一些视频教程,但是没有运气。
任何人都可以帮我解决问题!
下面是$data = array();
foreach ($this->input->post() as $value) {
if(is_array($value)) $rowids[] = $value['rowid'];
//$qty = $qty;
}
foreach ($this->input->post() as $value) {
if(!is_array($value)) $qtys[] = $value;
}
$i=-1;
for($i=0;$i<count($rowids); $i++)
{
$data[] = array(
'rowid' => $rowids[$i],
'qty' => $qtys[$i]
);
}
//var_dump($data);
中的代码。
HomeController
我的 [HttpGet]
public ActionResult JQGridOrders()
{
return View();
}
[HttpGet]
public ActionResult GetOrders()
{
using (NorthwindEntities db = new NorthwindEntities())
{
var ordersList = db.Orders.Select(x => new OrderInfo {
OderID = x.OrderID,
CustomerID = x.CustomerID,
OrderDate = x.OrderDate,
Freight = x.Freight,
ShipName = x.ShipName,
ShipAddress = x.ShipAddress
}).ToList();
return Json(new { rows = ordersList }, JsonRequestBehavior.AllowGet);
}
}
课在下面
OrderInfo
下面是视图
public class OrderInfo
{
public int OderID { get; set; }
public string CustomerID { get; set; }
public DateTime? OrderDate { get; set; }
public decimal? Freight { get; set; }
public string ShipName { get; set; }
public string ShipAddress { get; set; }
}
答案 0 :(得分:0)
尝试将操作的返回类型从ActionResult更改为JsonResult
[HttpGet]
public JsonResult GetOrders()
{
using (NorthwindEntities db = new NorthwindEntities())
{
var ordersList = db.Orders.Select(x => new OrderInfo {
OderID = x.OrderID,
CustomerID = x.CustomerID,
OrderDate = x.OrderDate,
Freight = x.Freight,
ShipName = x.ShipName,
ShipAddress = x.ShipAddress
}).ToList();
return Json(new { rows = ordersList }, JsonRequestBehavior.AllowGet);
}
}
答案 1 :(得分:0)
您应使用json response
和colModel
在jsonmap
和jsonReader
之间映射元素
这里是演示,并使用了一些虚假数据来显示映射。
$(function () {
$("#jqGrid").jqGrid({
loadError: function (xhr, status, error) {
alert('load error: ' + error);
},
mtype: 'GET',
ajaxGridOptions: { contentType: 'application/json; charset=utf-8' },
url: 'https://reqres.in/api/users?page=2',
datatype: "json",
colNames: ["Id", "First Name"],
colModel: [
{ name: "Id", index: "id",key:true, width: 50, jsonmap: "id" },
{ name: "First Name", index: "first_name", width: 200, jsonmap: "first_name"}
],
gridview: true,
jsonReader: { repeatitems:true, root:"data" },
rowNum: 10,
rowList: [10, 20, 30],
viewrecords: true,
width:500,
height: 200,
caption: "JSON Example",
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqgrid/4.6.0/js/jquery.jqGrid.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqgrid/4.6.0/js/i18n/grid.locale-en.js"></script>
<table id="jqGrid"></table>