Hello, I am unable to get data into my kendo grid. I have looked at many other threads but nothing has helped so far. I want to get the data from my controller / model but I am not sure if i am trying to do it correctly
VIEW
@model MyProject.Models.POApprovalViewModel
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
@{
ViewBag.Title = "PO Approval";
}
<
div
class
=
"container"
>
<
h4
>PO Approval</
h4
>
@(Html.Kendo().Grid(Model.AssignedApprovals)
.Name("grdPOs")
.Columns(columns =>
{
columns.Bound(model => model.PoId);
columns.Bound(model => model.PoStatus);
})
.Pageable()
.Sortable()
.DataSource(dataSource => dataSource
.Ajax()
.ServerOperation(true)
.Model(model => model.Id("PoId"))
.Read(read => read.Action("POApproval_Read", "POApproval"))
)
)
</
div
>
CONTROLLER
public class POApprovalController : Controller
{
string UserId;
POApprovalViewModel po;
// GET: POApproval
public ActionResult Index()
{
po = new POApprovalViewModel();
return View(po);
}
[HttpPost]
public ActionResult POApproval_Read()
{
dbPOApproval db = new dbPOApproval();
return Json(db.GetAssignedApprovals());
}
}
MODEL
public class POApprovalViewModel
{
public List<
OLAssignedApprovals
> AssignedApprovals
{
get
{
if (_AssignedApprovals == null)
{
_AssignedApprovals = new List<
OLAssignedApprovals
>();
}
return _AssignedApprovals;
}
}
private List<
OLAssignedApprovals
> _AssignedApprovals;
}
public class OLAssignedApprovals
{
public int PoId { get; set; }
public string PoStatus { get; set; }
}
public class dbPOApproval
{
MyDataSourceOjbect objPOApproval = new MyDataSourceOjbect();
public List<
Models.OLAssignedApprovals
> GetAssignedApprovals()
{
List<
Models.OLAssignedApprovals
> lPoApproval = new List<
Models.OLAssignedApprovals
>();
Models.OLAssignedApprovals li = new Models.OLAssignedApprovals();
DataSet ds = objPOApproval.GetPOApprovals();
foreach (DataRow dr in ds.Tables[0].Rows)
{
li = new Models.OLAssignedApprovals();
li.PoId = Convert.ToInt32(dr["POID"]);
li.PoStatus = dr["POStatus"].ToString();
lPoApproval.Add(li);
}
return lPoApproval;
}
}