PDA

View Full Version : استفاده از kendo grid



sunn789
پنج شنبه 30 بهمن 1393, 21:57 عصر
سلام ، تا اینجا این کدها که در زیر میبینید رو نوشتم اما فقط سر ستونها در grid نمایش داده میشود و اطلاعات جدول نمایش داده نمیشود
اگر کمک کنید ممنون میشم .
این ویوو



@model IEnumerable<frig.Areas.OnlineSoftware.Models.Date>

@(Html.Kendo().Grid<frig.Areas.OnlineSoftware.Models.Date>()
.Name("grid")
.ToolBar(toolbar => toolbar.Create())
.DataSource(dataSource => dataSource
.Ajax() // or .Server()
.Model(model => model.Id(product => product.Id))
.Create(create => create.Action("Create", "Dates"))
.Read(read => read.Action("Index", "Dates"))
))
این هم کنترل

public ActionResult Index()
{
//return Json(new GridModelBuilder)
return View(db.Dates.ToList());
}

sunn789
جمعه 01 اسفند 1393, 00:08 صبح
با این کد تمامی اطلاعات خوانده میشود و دیگر att ها اعمال نمیشود

@model IEnumerable<frig.Areas.OnlineSoftware.Models.Date>

@(Html.Kendo().Grid(Model)
.Name("grid")
.ToolBar(toolbar => toolbar.Create())
.DataSource(dataSource => dataSource
.Ajax() // or .Server()
.Model(model => model.Id(product => product.Id))
.Create(create => create.Action("Create", "Dates"))
.Read(read => read.Action("Index", "Dates"))
))

این کد جواب کامل نداد، grid کاملاً بایند میشود . create , edit دیگر کار نمیکند

javad13
جمعه 01 اسفند 1393, 02:35 صبح
سلام از اين كد استفاده كن :



@(Html.Kendo().Grid<Automation.Models.DomainModels.Company>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(p => p.ID).Width(50).Title("رديف");
columns.Bound(p => p.CompanyName).Width(50).Title("نام شركت");
columns.Bound(p => p.Address).Width(150).Title("آدرس");
columns.Bound(p => p.Tell).Width(100).Title("تلفن");
columns.Command(command => { command.Edit(); command.Destroy(); }).Width(172);
})
.ToolBar(toolbar => toolbar.Create())
.Editable(editable => editable.Mode(GridEditMode.InLine))
.Pageable()
.Sortable()
.Scrollable()
.HtmlAttributes(new { style = "height:430px;" })
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(5)
.Events(events => events.Error("error_handler"))
.Model(model => model.Id(p => p.ID))
.Create(update => update.Action("EditingInline_Create", "Home"))
.Read(read => read.Action("ReadData", "Home"))
.Update(update => update.Action("EditingInline_Update", "Home"))
.Destroy(update => update.Action("EditingInline_Destroy", "Home"))
)
.Pageable(pageable => pageable
.Refresh(true)
.PageSizes(true)
.ButtonCount(10))
.Sortable()
.Filterable()
.Groupable()
.Resizable(resizeable=>resizeable.Columns(true))
.Scrollable(scrollable => scrollable.Height(430))
.Reorderable(reorderable => reorderable.Columns(true))

)







حالا اكشنتو هم اينطوري بزن :



public ActionResult ReadData([DataSourceRequest] DataSourceRequest request)
{

List<Company> comList = db.Companeis.ToList();
return Json(comList.ToDataSourceResult(request),JsonReque stBehavior.AllowGet);
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult EditingInline_Create([DataSourceRequest] DataSourceRequest request, Company cmp)
{
if (cmp != null && ModelState.IsValid)
{
CompanyRep comp = new CompanyRep();
comp.Add(cmp,true);
}

return Json(new[] { cmp }.ToDataSourceResult(request, ModelState));
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult EditingInline_Update([DataSourceRequest] DataSourceRequest request, Company cmp)
{
if (cmp != null && ModelState.IsValid)
{
CompanyRep comp = new CompanyRep();
comp.update(cmp);

}

return Json(new[] { cmp }.ToDataSourceResult(request, ModelState),JsonRequestBehavior.AllowGet);
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult EditingInline_Destroy([DataSourceRequest] DataSourceRequest request, Company cmp)
{
if (cmp != null)
{
// productService.Destroy(product);
}

return Json(new[] { cmp }.ToDataSourceResult(request, ModelState));
}


من خودم از اين استفاده ميكنم و 100%‌جواب ميده.

sunn789
جمعه 01 اسفند 1393, 10:01 صبح
متاسفانه همون وضعیت قبله ؟
4 تا سوال
اول اینکه اکشنی که ویوو رو پر میکنه با اکشنی که اطلاعات به kendo grid میفرسته متفاوته؟ البته اگر برگشتی اکشن index رو json بگذارم، فقط اطلاعات بانک رو برمیگردونه همون فایل json ، نتیجه اینکه باید index که ویوو رو بر میگردونه با برگشتی که در read استفاده میشه متفاوت باشد > ایا درست هست؟
دوم اینکه این
[DataSourceRequest] DataSourceRequest request
را نمیخواد جایی تعریف و یا مقدار دهی کنیم
سوم Destroy در kendo grid چه میکنه ؟
چهارم

@(Html.Kendo().Grid<Automation.Models.DomainModels .Company>()
در قسمت ارسال Model به grid ارتباطی با

@model IEnumerable<frig.Areas.OnlineSoftware.Models.Date>
ندارد؟