Hello,
anyone can help my problem ? ,
when im trying to create / edit data , my grid have some issue ( PIC 1)
OpportunityController :
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Threading.Tasks;
using
Kendo.Mvc.UI;
using
Kendo.Mvc.Extensions;
using
DevRedsMk3.Models;
using
Microsoft.AspNetCore.Mvc;
namespace
DevRedsMk3.Controllers
{
public
class
OpportunityController : Controller
{
private
readonly
dbdevredsContext _context;
public
OpportunityController(dbdevredsContext context)
{
_context = context;
}
// GET: /<controller>/
public
IActionResult Index()
{
var prospects = _context.MasterProspect.ToList();
ViewData[
"prospects"
] = prospects;
ViewData[
"defaultMasterProspect"
] = prospects.First();
var employee = _context.MasterEmployee.ToList();
ViewData[
"employee"
] = employee;
ViewData[
"defaultMasterEmployee"
] = employee.First();
return
View();
}
public
IActionResult Error()
{
return
View();
}
}
}
MasterOpportunityController :
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Threading.Tasks;
using
Kendo.Mvc.UI;
using
Kendo.Mvc.Extensions;
using
DevRedsMk3.Models;
using
Microsoft.AspNetCore.Mvc;
namespace
DevRedsMk3.Controllers
{
public
class
MasterOpportunityController : Controller
{
private
readonly
dbdevredsContext _context;
public
MasterOpportunityController(dbdevredsContext context)
{
_context = context;
}
public
IActionResult List([DataSourceRequest] DataSourceRequest request)
{
return
Json(_context.MasterOpportunity.ToDataSourceResult(request));
}
//public ActionResult CustomCommand3_Read([DataSourceRequest] DataSourceRequest request)
//{
// return Json(_context.MasterEmployee.ToDataSourceResult(request));
//}
[HttpPost]
public
ActionResult Update([DataSourceRequest]DataSourceRequest request, Models.MasterOpportunity master)
{
if
(master !=
null
&& ModelState.IsValid)
{
_context.MasterOpportunity.Update(master);
_context.SaveChanges();
}
return
Json(
new
[] { master }.ToDataSourceResult(request, ModelState));
}
[HttpPost]
public
ActionResult Destroy([DataSourceRequest]DataSourceRequest request, Models.MasterOpportunity opportunity)
{
_context.Remove(opportunity);
_context.SaveChanges();
return
Json(
new
[] { opportunity }.ToDataSourceResult(request, ModelState));
}
[HttpPost]
public
ActionResult Create([DataSourceRequest]DataSourceRequest request, Models.MasterOpportunity opportunity)
{
if
(opportunity !=
null
&& ModelState.IsValid)
{
_context.Add(opportunity);
_context.SaveChanges();
}
return
Json(
new
[] { opportunity }.ToDataSourceResult(request, ModelState));
}
}
}
VIEW :
<
div
>
@(Html.Kendo().Grid<
DevRedsMk3.Models.MasterOpportunity
>()
.Name("Opportunity")
.Columns(columns =>
{
columns.Bound(p => p.OpportunityId).Title("Opportunity ID");
columns.Bound(p => p.OpportunityName).Title("Opportunity Name");
columns.ForeignKey(p => p.ProspectId, (System.Collections.IEnumerable)ViewData["prospects"], "ProspectId", "ProspectId").Title("Prospect Id");
columns.ForeignKey(p => p.ProspectId, (System.Collections.IEnumerable)ViewData["prospects"], "ProspectId", "ProspectName").Title("Prospect Name");
columns.ForeignKey(p => p.ProspectId, (System.Collections.IEnumerable)ViewData["prospects"], "ProspectId", "Type").Title("Type");
columns.ForeignKey(p => p.ProspectId, (System.Collections.IEnumerable)ViewData["prospects"], "ProspectId", "Email").Title("Email");
columns.ForeignKey(p => p.ProspectId, (System.Collections.IEnumerable)ViewData["prospects"], "ProspectId", "Phone").Title("Phone");
columns.ForeignKey(p => p.ProspectId, (System.Collections.IEnumerable)ViewData["prospects"], "ProspectId", "Address").Title("Address");
columns.ForeignKey(p => p.ProspectId, (System.Collections.IEnumerable)ViewData["prospects"], "ProspectId", "IdNumber").Title("ID Number");
columns.ForeignKey(p => p.ProspectId, (System.Collections.IEnumerable)ViewData["prospects"], "ProspectId", "Npwp").Title("NPWP");
// columns.ForeignKey(p => p.ProspectId, (System.Collections.IEnumerable)ViewData["prospects"], "EmployeeId", "EmployeeName").Title("Sales Person");
columns.Command(command => { command.Edit(); command.Destroy(); }).Width(185);
})
.ToolBar(toolbar => toolbar.Create())
.DataSource(datasource => datasource
.Ajax()
.ServerOperation(false)
.Model(model => model.Id(p => p.OpportunityId))
.Read(read => read.Action("CustomCommand3_Read", "MasterOpportunity"))
.Read(read => read.Action("List", "MasterOpportunity"))
.Create(create => create.Action("Create", "MasterOpportunity"))
)
)
</
div
>