PDA

View Full Version : استفاده از گرید کندو



faranakk
سه شنبه 13 بهمن 1394, 14:32 عصر
با عرض سلام و احترام
من میخوام گرید کندو رو داخل پروژم راه اندازی کنم
telerik.ui.for.aspnetmvc.2016.1.112.commercial رو نصب کردم
و حالا در کنترلرم این رو نوشتم


public ActionResult Index()
{
return View();
}

public JsonResult GetData([DataSourceRequest] DataSourceRequest request)
{

using (ApplicationDbContext db = new ApplicationDbContext())
{
var lst = db.Colors.ToList();
return Json(lst.ToDataSourceResult(request));
}
}


و در ویو هم این رو دارم



@using Kendo.Mvc.UI
@model IEnumerable<TelerikMvcApp1.Models.Color>

@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}

@(Html.Kendo().Grid(Model)
.Name("Colorgrid")
.Columns(columns =>
{
columns.Bound(model => model.Name).Title("نام");

columns.Bound(item => @item.Id).Title("دستورات").Filterable(false).Groupable(false);
})
.Scrollable()
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("GetData", "Color"))
)
)


در layout هم این css , js ها رو اضافه کردم
<link href="~/Content/kendo/2016.1.112/kendo.common.min.css" rel="stylesheet" />
<link href="~/Content/kendo/2016.1.112/kendo.rtl.min.css" rel="stylesheet" />
<link href="~/Content/kendo/2016.1.112/kendo.default.min.css" rel="stylesheet"/>

<script src="~/Scripts/kendo/2016.1.112/jquery.min.js"></script>
<script src="~/Scripts/kendo/2016.1.112/kendo.web.min.js"></script>
<script src="~/Scripts/kendo/2016.1.112/kendo.aspnetmvc.min.js"></script>

ولی وقتی پروژه رو اجرا میکنم هیچ دیتایی رو داخل گرید نشون نمیده
در حقیقت وارد اکشن GetData نمیشه

ممنون میشم راهنمایی کنید که مشکل کجاست

s.Jabbari
سه شنبه 13 بهمن 1394, 15:00 عصر
کد TelerikMvcApp1.Models.Color رو هم اینجا بذارید

faranakk
سه شنبه 13 بهمن 1394, 15:03 عصر
کد TelerikMvcApp1.Models.Color رو هم اینجا بذارید



public class Color
{
public int Id { get; set; }
public string Name { get; set; }
public int Score { get; set; }


}


این کد مدل color هستش
ممنون

faranakk
چهارشنبه 14 بهمن 1394, 12:46 عصر
ممنون میشم کسی راهنمایی کنه

RIG000
پنج شنبه 15 بهمن 1394, 13:01 عصر
اسم کنترلر رو چک کنید color گذاشتین/؟

.Read(read => read.Action("GetData", "Color"))
در کد بالا color رو نوشتی باید اسم اون کنترلری باشه که متد getdata در دخلش هست.
اگر این مورد درست هست و درست نوشتیش قسمت دوم رو بررسی میکنیم.
یعنی اگر بازهم دیتا نگرفتی با روال پیش توع خروجی رو تغییر بده به

public JsonResult GetData(
ActionResult یعنی JsonResult رو به ActionResult تغییر بده.

moradian
پنج شنبه 15 بهمن 1394, 13:05 عصر
سلام
فکر کنم به این دلیل باشه که پارامتر JsonRequestBehavior.AllowGet رو تو اکشن ست نکردین.


return Json(lst.ToDataSourceResult(request), JsonRequestBehavior.AllowGet);

RIG000
پنج شنبه 15 بهمن 1394, 13:08 عصر
در اینجا هم میتونی AjaxBinding رو یاد بگیری دوست عزیز

http://docs.telerik.com/kendo-ui/aspnet-mvc/helpers/grid/ajax-binding