Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 4 剑道UI网格批量编辑需要显示布尔值true(复选框需要选中)false(复选框需要取消选中)_Asp.net Mvc 4_Model View Controller_Kendo Ui_Kendo Grid - Fatal编程技术网

Asp.net mvc 4 剑道UI网格批量编辑需要显示布尔值true(复选框需要选中)false(复选框需要取消选中)

Asp.net mvc 4 剑道UI网格批量编辑需要显示布尔值true(复选框需要选中)false(复选框需要取消选中),asp.net-mvc-4,model-view-controller,kendo-ui,kendo-grid,Asp.net Mvc 4,Model View Controller,Kendo Ui,Kendo Grid,类Employee.cs是这样的 public class Employee { public int EmployeeID; public string Name; } public class Order { public int OrderID { get; set; } public DateTime OrderDate { get; set; } public string OrderDescription { get; s

类Employee.cs是这样的

 public class Employee
 {
     public int EmployeeID;
     public string Name;
 }
 public class Order
 {
     public int OrderID { get; set; }
     public DateTime OrderDate { get; set; }
     public string OrderDescription { get; set; }
     public int EmployeeID { get; set; }
     public bool checker { get; set; }
     public bool Maker { get; set; }
     public bool Supervisor { get; set; }
 }
 public class HomeController : Controller
 {
     public static List<Order> orderList = new List<Order> { 
             new Order {OrderID = 1, OrderDate = new DateTime(2012,8,1), EmployeeID = 1, OrderDescription = "Order Food",checker=true,Maker=true,Supervisor=true },
             new Order {OrderID = 2, OrderDate = new DateTime(2012,8,1), EmployeeID = 2, OrderDescription = "Order Office Materials",checker=false,Maker=true,Supervisor=true },
             new Order {OrderID = 3, OrderDate = new DateTime(2012,8,2), EmployeeID = 1, OrderDescription = "Order Production Materials",checker=true,Maker=true,Supervisor=true },
             new Order {OrderID = 4, OrderDate = new DateTime(2012,8,3), EmployeeID = 4, OrderDescription = "Order Food",checker=true,Maker=true,Supervisor=true },
             new Order {OrderID = 5, OrderDate = new DateTime(2012,8,4), EmployeeID = 3, OrderDescription = "Order Production Materials" ,checker=false,Maker=true,Supervisor=true},
             new Order {OrderID = 6, OrderDate = new DateTime(2012,8,5), EmployeeID = 3, OrderDescription = "Order Production Materials" ,checker=true,Maker=true,Supervisor=true},
             new Order {OrderID = 7, OrderDate = new DateTime(2012,8,5), EmployeeID = 4, OrderDescription = "Order Food", checker=true,Maker=true,Supervisor=true},
             new Order {OrderID = 8, OrderDate = new DateTime(2012,8,6), EmployeeID = 1, OrderDescription = "Order Food", checker=true,Maker=true,Supervisor=true},
             new Order {OrderID = 9, OrderDate = new DateTime(2012,8,6), EmployeeID = 1, OrderDescription = "Order Office Materials" ,checker=false,Maker=true,Supervisor=true},
             new Order {OrderID = 10, OrderDate = new DateTime(2012,8,7), EmployeeID = 2, OrderDescription = "Order Production Materials",checker=true,Maker=true,Supervisor=true },
         };

     public static List<Employee> employeeList = new List<Employee> { 
         new Employee {EmployeeID = 1, Name = "Anrew"},
         new Employee {EmployeeID = 2, Name = "John"},
         new Employee {EmployeeID = 3, Name = "Peter"},
         new Employee {EmployeeID = 4, Name = "Ivan"},
         new Employee {EmployeeID = 5, Name = "Nancy"},
     };

     public ActionResult Index()
     {
         ViewData["employees"] = employeeList.Select(e => new  {
                         EmployeeID = e.EmployeeID,
                         Name = e.Name
                     });

         return View();
     }


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


     public ActionResult Read([DataSourceRequest] DataSourceRequest request)
     {
         var allOrders = from orders in orderList
                      select new Order{
                         OrderID = orders.OrderID,
                         OrderDate = orders.OrderDate,
                         EmployeeID = orders.EmployeeID,
                         OrderDescription = orders.OrderDescription,
                         checker=orders.checker,
                         Maker=orders.Maker
                      };

         return Json(allOrders.ToDataSourceResult(request));
     }

     public ActionResult Delete([DataSourceRequest] DataSourceRequest request, Order order)
     {
         if (order != null && ModelState.IsValid)
         {
             var target = orderList.Where(o => o.OrderID == order.OrderID).FirstOrDefault();

             if (target != null)
             {
                 orderList.Remove(target);
             }
         }

         return Json(ModelState.ToDataSourceResult());
     }

     [AcceptVerbs(HttpVerbs.Post)]
     public ActionResult Update([DataSourceRequest] DataSourceRequest request, Order order)
     {
         if (order != null && ModelState.IsValid)
         {

             var target = orderList.Where(o => o.OrderID == order.OrderID).FirstOrDefault();

             if (target != null)
             {
                 int targetIndex = orderList.IndexOf(target);
                 orderList[targetIndex].OrderDate = order.OrderDate;
                 orderList[targetIndex].EmployeeID = order.EmployeeID;
                 orderList[targetIndex].OrderDescription = order.OrderDescription;
                 orderList[targetIndex].checker = order.checker;
                 orderList[targetIndex].Maker = order.Maker;
                 orderList[targetIndex].Supervisor = order.Supervisor;
             }
         }

         return Json(ModelState.ToDataSourceResult());
     }

     public ActionResult Create([DataSourceRequest] DataSourceRequest request, Order order)
     {
             order.OrderID = orderList[orderList.Count - 1].OrderID + 1;
             orderList.Add(order);

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

     public ActionResult UpdateCreateDelete(
         [Bind(Prefix = "updated")]List<Order> updatedOrders,
         [Bind(Prefix = "new")]List<Order> newOrders,
         [Bind(Prefix = "deleted")]List<Order> deletedOrders)
     {
         if (updatedOrders != null && updatedOrders.Count > 0)
         {
             for (int i = 0; i < updatedOrders.Count; i++)
             {
                 var target = orderList.Where(o => o.OrderID == updatedOrders[i].OrderID).FirstOrDefault();

                 if (target != null)
                 {
                     int targetIndex = orderList.IndexOf(target);
                     orderList[targetIndex].OrderDate = updatedOrders[i].OrderDate;
                     orderList[targetIndex].EmployeeID = updatedOrders[i].EmployeeID;
                     orderList[targetIndex].OrderDescription = updatedOrders[i].OrderDescription;
                     orderList[targetIndex].checker = updatedOrders[i].checker;
                     orderList[targetIndex].Supervisor = updatedOrders[i].Supervisor;
                     orderList[targetIndex].Maker = updatedOrders[i].Maker;
                 }
             }
         }

         if (newOrders != null && newOrders.Count > 0)
         {
             for (int i = 0; i < newOrders.Count; i++)
             {
                 newOrders[i].OrderID = orderList[orderList.Count - 1].OrderID + 1;
                 orderList.Add(newOrders[i]);
             }

         }

         if (deletedOrders != null && deletedOrders.Count > 0)
         {
             for (int i = 0; i < deletedOrders.Count; i++)
             {
                 var target = orderList.Where(o => o.OrderID == deletedOrders[i].OrderID).FirstOrDefault();

                 if (target != null)
                 {
                     orderList.Remove(target);
                 }
             }
         }

         return Json("Success!");
     } 
@(Html.Kendo().Grid<GridSyncChangesWithOneRequest.Models.Order>()
 .Name("Grid")    
 .Columns(columns => {        
     columns.Bound(p => p.OrderID);
     columns.ForeignKey(p => p.EmployeeID,(System.Collections.IEnumerable)ViewData["employees"], "EmployeeID", "Name");
     columns.Bound(p => p.OrderDescription);
     columns.Bound(p => p.Maker);
     columns.Bound(p => p.checker);
     //columns.Bound(p => p.checker).HeaderTemplate("Checker").ClientTemplate("<input type='checkbox' id='#= ID#,#= Name#' class='grid_checkbox'/>");      
     columns.Bound(p => p.Supervisor); 
     columns.Bound(p => p.OrderDate).Format("{0:d}");
     columns.Command(c => {
         c.Destroy();
     });
 })    
 .ToolBar(toolBar => toolBar.Create())
 .Editable(editable => editable.Mode(GridEditMode.InCell))
 .Pageable()
 .Sortable()
 .Scrollable()
 .Filterable()
 .DataSource(dataSource => dataSource        
     .Ajax()      
     .ServerOperation(false)
     .Model(model => { 
         model.Id(p => p.OrderID);
         model.Field(p => p.OrderDescription).Editable(false);
         model.Field(p => p.EmployeeID).Editable(false);
         model.Field(p => p.OrderID).Editable(false);
         model.Field(p => p.Maker).Editable(false).DefaultValue(true);           
         model.Field(p => p.OrderDate).Editable(false);               
     })
     .Create(create => create.Action("Create", "Home"))
     .Destroy(destroy => destroy.Action("Delete", "Home"))
     .Read(read => read.Action("Read", "Home"))
     .Update(update => update.Action("Update", "Home"))       
 ) )
类Order.cs是这样的

 public class Employee
 {
     public int EmployeeID;
     public string Name;
 }
 public class Order
 {
     public int OrderID { get; set; }
     public DateTime OrderDate { get; set; }
     public string OrderDescription { get; set; }
     public int EmployeeID { get; set; }
     public bool checker { get; set; }
     public bool Maker { get; set; }
     public bool Supervisor { get; set; }
 }
 public class HomeController : Controller
 {
     public static List<Order> orderList = new List<Order> { 
             new Order {OrderID = 1, OrderDate = new DateTime(2012,8,1), EmployeeID = 1, OrderDescription = "Order Food",checker=true,Maker=true,Supervisor=true },
             new Order {OrderID = 2, OrderDate = new DateTime(2012,8,1), EmployeeID = 2, OrderDescription = "Order Office Materials",checker=false,Maker=true,Supervisor=true },
             new Order {OrderID = 3, OrderDate = new DateTime(2012,8,2), EmployeeID = 1, OrderDescription = "Order Production Materials",checker=true,Maker=true,Supervisor=true },
             new Order {OrderID = 4, OrderDate = new DateTime(2012,8,3), EmployeeID = 4, OrderDescription = "Order Food",checker=true,Maker=true,Supervisor=true },
             new Order {OrderID = 5, OrderDate = new DateTime(2012,8,4), EmployeeID = 3, OrderDescription = "Order Production Materials" ,checker=false,Maker=true,Supervisor=true},
             new Order {OrderID = 6, OrderDate = new DateTime(2012,8,5), EmployeeID = 3, OrderDescription = "Order Production Materials" ,checker=true,Maker=true,Supervisor=true},
             new Order {OrderID = 7, OrderDate = new DateTime(2012,8,5), EmployeeID = 4, OrderDescription = "Order Food", checker=true,Maker=true,Supervisor=true},
             new Order {OrderID = 8, OrderDate = new DateTime(2012,8,6), EmployeeID = 1, OrderDescription = "Order Food", checker=true,Maker=true,Supervisor=true},
             new Order {OrderID = 9, OrderDate = new DateTime(2012,8,6), EmployeeID = 1, OrderDescription = "Order Office Materials" ,checker=false,Maker=true,Supervisor=true},
             new Order {OrderID = 10, OrderDate = new DateTime(2012,8,7), EmployeeID = 2, OrderDescription = "Order Production Materials",checker=true,Maker=true,Supervisor=true },
         };

     public static List<Employee> employeeList = new List<Employee> { 
         new Employee {EmployeeID = 1, Name = "Anrew"},
         new Employee {EmployeeID = 2, Name = "John"},
         new Employee {EmployeeID = 3, Name = "Peter"},
         new Employee {EmployeeID = 4, Name = "Ivan"},
         new Employee {EmployeeID = 5, Name = "Nancy"},
     };

     public ActionResult Index()
     {
         ViewData["employees"] = employeeList.Select(e => new  {
                         EmployeeID = e.EmployeeID,
                         Name = e.Name
                     });

         return View();
     }


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


     public ActionResult Read([DataSourceRequest] DataSourceRequest request)
     {
         var allOrders = from orders in orderList
                      select new Order{
                         OrderID = orders.OrderID,
                         OrderDate = orders.OrderDate,
                         EmployeeID = orders.EmployeeID,
                         OrderDescription = orders.OrderDescription,
                         checker=orders.checker,
                         Maker=orders.Maker
                      };

         return Json(allOrders.ToDataSourceResult(request));
     }

     public ActionResult Delete([DataSourceRequest] DataSourceRequest request, Order order)
     {
         if (order != null && ModelState.IsValid)
         {
             var target = orderList.Where(o => o.OrderID == order.OrderID).FirstOrDefault();

             if (target != null)
             {
                 orderList.Remove(target);
             }
         }

         return Json(ModelState.ToDataSourceResult());
     }

     [AcceptVerbs(HttpVerbs.Post)]
     public ActionResult Update([DataSourceRequest] DataSourceRequest request, Order order)
     {
         if (order != null && ModelState.IsValid)
         {

             var target = orderList.Where(o => o.OrderID == order.OrderID).FirstOrDefault();

             if (target != null)
             {
                 int targetIndex = orderList.IndexOf(target);
                 orderList[targetIndex].OrderDate = order.OrderDate;
                 orderList[targetIndex].EmployeeID = order.EmployeeID;
                 orderList[targetIndex].OrderDescription = order.OrderDescription;
                 orderList[targetIndex].checker = order.checker;
                 orderList[targetIndex].Maker = order.Maker;
                 orderList[targetIndex].Supervisor = order.Supervisor;
             }
         }

         return Json(ModelState.ToDataSourceResult());
     }

     public ActionResult Create([DataSourceRequest] DataSourceRequest request, Order order)
     {
             order.OrderID = orderList[orderList.Count - 1].OrderID + 1;
             orderList.Add(order);

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

     public ActionResult UpdateCreateDelete(
         [Bind(Prefix = "updated")]List<Order> updatedOrders,
         [Bind(Prefix = "new")]List<Order> newOrders,
         [Bind(Prefix = "deleted")]List<Order> deletedOrders)
     {
         if (updatedOrders != null && updatedOrders.Count > 0)
         {
             for (int i = 0; i < updatedOrders.Count; i++)
             {
                 var target = orderList.Where(o => o.OrderID == updatedOrders[i].OrderID).FirstOrDefault();

                 if (target != null)
                 {
                     int targetIndex = orderList.IndexOf(target);
                     orderList[targetIndex].OrderDate = updatedOrders[i].OrderDate;
                     orderList[targetIndex].EmployeeID = updatedOrders[i].EmployeeID;
                     orderList[targetIndex].OrderDescription = updatedOrders[i].OrderDescription;
                     orderList[targetIndex].checker = updatedOrders[i].checker;
                     orderList[targetIndex].Supervisor = updatedOrders[i].Supervisor;
                     orderList[targetIndex].Maker = updatedOrders[i].Maker;
                 }
             }
         }

         if (newOrders != null && newOrders.Count > 0)
         {
             for (int i = 0; i < newOrders.Count; i++)
             {
                 newOrders[i].OrderID = orderList[orderList.Count - 1].OrderID + 1;
                 orderList.Add(newOrders[i]);
             }

         }

         if (deletedOrders != null && deletedOrders.Count > 0)
         {
             for (int i = 0; i < deletedOrders.Count; i++)
             {
                 var target = orderList.Where(o => o.OrderID == deletedOrders[i].OrderID).FirstOrDefault();

                 if (target != null)
                 {
                     orderList.Remove(target);
                 }
             }
         }

         return Json("Success!");
     } 
@(Html.Kendo().Grid<GridSyncChangesWithOneRequest.Models.Order>()
 .Name("Grid")    
 .Columns(columns => {        
     columns.Bound(p => p.OrderID);
     columns.ForeignKey(p => p.EmployeeID,(System.Collections.IEnumerable)ViewData["employees"], "EmployeeID", "Name");
     columns.Bound(p => p.OrderDescription);
     columns.Bound(p => p.Maker);
     columns.Bound(p => p.checker);
     //columns.Bound(p => p.checker).HeaderTemplate("Checker").ClientTemplate("<input type='checkbox' id='#= ID#,#= Name#' class='grid_checkbox'/>");      
     columns.Bound(p => p.Supervisor); 
     columns.Bound(p => p.OrderDate).Format("{0:d}");
     columns.Command(c => {
         c.Destroy();
     });
 })    
 .ToolBar(toolBar => toolBar.Create())
 .Editable(editable => editable.Mode(GridEditMode.InCell))
 .Pageable()
 .Sortable()
 .Scrollable()
 .Filterable()
 .DataSource(dataSource => dataSource        
     .Ajax()      
     .ServerOperation(false)
     .Model(model => { 
         model.Id(p => p.OrderID);
         model.Field(p => p.OrderDescription).Editable(false);
         model.Field(p => p.EmployeeID).Editable(false);
         model.Field(p => p.OrderID).Editable(false);
         model.Field(p => p.Maker).Editable(false).DefaultValue(true);           
         model.Field(p => p.OrderDate).Editable(false);               
     })
     .Create(create => create.Action("Create", "Home"))
     .Destroy(destroy => destroy.Action("Delete", "Home"))
     .Read(read => read.Action("Read", "Home"))
     .Update(update => update.Action("Update", "Home"))       
 ) )
家庭控制器是这样的

 public class Employee
 {
     public int EmployeeID;
     public string Name;
 }
 public class Order
 {
     public int OrderID { get; set; }
     public DateTime OrderDate { get; set; }
     public string OrderDescription { get; set; }
     public int EmployeeID { get; set; }
     public bool checker { get; set; }
     public bool Maker { get; set; }
     public bool Supervisor { get; set; }
 }
 public class HomeController : Controller
 {
     public static List<Order> orderList = new List<Order> { 
             new Order {OrderID = 1, OrderDate = new DateTime(2012,8,1), EmployeeID = 1, OrderDescription = "Order Food",checker=true,Maker=true,Supervisor=true },
             new Order {OrderID = 2, OrderDate = new DateTime(2012,8,1), EmployeeID = 2, OrderDescription = "Order Office Materials",checker=false,Maker=true,Supervisor=true },
             new Order {OrderID = 3, OrderDate = new DateTime(2012,8,2), EmployeeID = 1, OrderDescription = "Order Production Materials",checker=true,Maker=true,Supervisor=true },
             new Order {OrderID = 4, OrderDate = new DateTime(2012,8,3), EmployeeID = 4, OrderDescription = "Order Food",checker=true,Maker=true,Supervisor=true },
             new Order {OrderID = 5, OrderDate = new DateTime(2012,8,4), EmployeeID = 3, OrderDescription = "Order Production Materials" ,checker=false,Maker=true,Supervisor=true},
             new Order {OrderID = 6, OrderDate = new DateTime(2012,8,5), EmployeeID = 3, OrderDescription = "Order Production Materials" ,checker=true,Maker=true,Supervisor=true},
             new Order {OrderID = 7, OrderDate = new DateTime(2012,8,5), EmployeeID = 4, OrderDescription = "Order Food", checker=true,Maker=true,Supervisor=true},
             new Order {OrderID = 8, OrderDate = new DateTime(2012,8,6), EmployeeID = 1, OrderDescription = "Order Food", checker=true,Maker=true,Supervisor=true},
             new Order {OrderID = 9, OrderDate = new DateTime(2012,8,6), EmployeeID = 1, OrderDescription = "Order Office Materials" ,checker=false,Maker=true,Supervisor=true},
             new Order {OrderID = 10, OrderDate = new DateTime(2012,8,7), EmployeeID = 2, OrderDescription = "Order Production Materials",checker=true,Maker=true,Supervisor=true },
         };

     public static List<Employee> employeeList = new List<Employee> { 
         new Employee {EmployeeID = 1, Name = "Anrew"},
         new Employee {EmployeeID = 2, Name = "John"},
         new Employee {EmployeeID = 3, Name = "Peter"},
         new Employee {EmployeeID = 4, Name = "Ivan"},
         new Employee {EmployeeID = 5, Name = "Nancy"},
     };

     public ActionResult Index()
     {
         ViewData["employees"] = employeeList.Select(e => new  {
                         EmployeeID = e.EmployeeID,
                         Name = e.Name
                     });

         return View();
     }


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


     public ActionResult Read([DataSourceRequest] DataSourceRequest request)
     {
         var allOrders = from orders in orderList
                      select new Order{
                         OrderID = orders.OrderID,
                         OrderDate = orders.OrderDate,
                         EmployeeID = orders.EmployeeID,
                         OrderDescription = orders.OrderDescription,
                         checker=orders.checker,
                         Maker=orders.Maker
                      };

         return Json(allOrders.ToDataSourceResult(request));
     }

     public ActionResult Delete([DataSourceRequest] DataSourceRequest request, Order order)
     {
         if (order != null && ModelState.IsValid)
         {
             var target = orderList.Where(o => o.OrderID == order.OrderID).FirstOrDefault();

             if (target != null)
             {
                 orderList.Remove(target);
             }
         }

         return Json(ModelState.ToDataSourceResult());
     }

     [AcceptVerbs(HttpVerbs.Post)]
     public ActionResult Update([DataSourceRequest] DataSourceRequest request, Order order)
     {
         if (order != null && ModelState.IsValid)
         {

             var target = orderList.Where(o => o.OrderID == order.OrderID).FirstOrDefault();

             if (target != null)
             {
                 int targetIndex = orderList.IndexOf(target);
                 orderList[targetIndex].OrderDate = order.OrderDate;
                 orderList[targetIndex].EmployeeID = order.EmployeeID;
                 orderList[targetIndex].OrderDescription = order.OrderDescription;
                 orderList[targetIndex].checker = order.checker;
                 orderList[targetIndex].Maker = order.Maker;
                 orderList[targetIndex].Supervisor = order.Supervisor;
             }
         }

         return Json(ModelState.ToDataSourceResult());
     }

     public ActionResult Create([DataSourceRequest] DataSourceRequest request, Order order)
     {
             order.OrderID = orderList[orderList.Count - 1].OrderID + 1;
             orderList.Add(order);

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

     public ActionResult UpdateCreateDelete(
         [Bind(Prefix = "updated")]List<Order> updatedOrders,
         [Bind(Prefix = "new")]List<Order> newOrders,
         [Bind(Prefix = "deleted")]List<Order> deletedOrders)
     {
         if (updatedOrders != null && updatedOrders.Count > 0)
         {
             for (int i = 0; i < updatedOrders.Count; i++)
             {
                 var target = orderList.Where(o => o.OrderID == updatedOrders[i].OrderID).FirstOrDefault();

                 if (target != null)
                 {
                     int targetIndex = orderList.IndexOf(target);
                     orderList[targetIndex].OrderDate = updatedOrders[i].OrderDate;
                     orderList[targetIndex].EmployeeID = updatedOrders[i].EmployeeID;
                     orderList[targetIndex].OrderDescription = updatedOrders[i].OrderDescription;
                     orderList[targetIndex].checker = updatedOrders[i].checker;
                     orderList[targetIndex].Supervisor = updatedOrders[i].Supervisor;
                     orderList[targetIndex].Maker = updatedOrders[i].Maker;
                 }
             }
         }

         if (newOrders != null && newOrders.Count > 0)
         {
             for (int i = 0; i < newOrders.Count; i++)
             {
                 newOrders[i].OrderID = orderList[orderList.Count - 1].OrderID + 1;
                 orderList.Add(newOrders[i]);
             }

         }

         if (deletedOrders != null && deletedOrders.Count > 0)
         {
             for (int i = 0; i < deletedOrders.Count; i++)
             {
                 var target = orderList.Where(o => o.OrderID == deletedOrders[i].OrderID).FirstOrDefault();

                 if (target != null)
                 {
                     orderList.Remove(target);
                 }
             }
         }

         return Json("Success!");
     } 
@(Html.Kendo().Grid<GridSyncChangesWithOneRequest.Models.Order>()
 .Name("Grid")    
 .Columns(columns => {        
     columns.Bound(p => p.OrderID);
     columns.ForeignKey(p => p.EmployeeID,(System.Collections.IEnumerable)ViewData["employees"], "EmployeeID", "Name");
     columns.Bound(p => p.OrderDescription);
     columns.Bound(p => p.Maker);
     columns.Bound(p => p.checker);
     //columns.Bound(p => p.checker).HeaderTemplate("Checker").ClientTemplate("<input type='checkbox' id='#= ID#,#= Name#' class='grid_checkbox'/>");      
     columns.Bound(p => p.Supervisor); 
     columns.Bound(p => p.OrderDate).Format("{0:d}");
     columns.Command(c => {
         c.Destroy();
     });
 })    
 .ToolBar(toolBar => toolBar.Create())
 .Editable(editable => editable.Mode(GridEditMode.InCell))
 .Pageable()
 .Sortable()
 .Scrollable()
 .Filterable()
 .DataSource(dataSource => dataSource        
     .Ajax()      
     .ServerOperation(false)
     .Model(model => { 
         model.Id(p => p.OrderID);
         model.Field(p => p.OrderDescription).Editable(false);
         model.Field(p => p.EmployeeID).Editable(false);
         model.Field(p => p.OrderID).Editable(false);
         model.Field(p => p.Maker).Editable(false).DefaultValue(true);           
         model.Field(p => p.OrderDate).Editable(false);               
     })
     .Create(create => create.Action("Create", "Home"))
     .Destroy(destroy => destroy.Action("Delete", "Home"))
     .Read(read => read.Action("Read", "Home"))
     .Update(update => update.Action("Update", "Home"))       
 ) )
公共类HomeController:控制器
{
公共静态列表orderList=新列表{
新订单{OrderID=1,OrderDate=new DateTime(2012,8,1),EmployeeID=1,OrderDescription=“Order Food”,checker=true,Maker=true,Supervisor=true},
新订单{OrderID=2,OrderDate=new DateTime(2012,8,1),EmployeeID=2,OrderDescription=“订购办公材料”,checker=false,Maker=true,Supervisor=true},
新订单{OrderID=3,OrderDate=new DateTime(2012,8,2),EmployeeID=1,OrderDescription=“订单生产材料”,checker=true,Maker=true,Supervisor=true},
新订单{OrderID=4,OrderDate=new DateTime(2012,8,3),EmployeeID=4,OrderDescription=“Order Food”,checker=true,Maker=true,Supervisor=true},
新订单{OrderID=5,OrderDate=new DateTime(2012,8,4),EmployeeID=3,OrderDescription=“订单生产材料”,checker=false,Maker=true,Supervisor=true},
新订单{OrderID=6,OrderDate=new DateTime(2012,8,5),EmployeeID=3,OrderDescription=“订单生产材料”,checker=true,Maker=true,Supervisor=true},
新订单{OrderID=7,OrderDate=new DateTime(2012,8,5),EmployeeID=4,OrderDescription=“Order Food”,checker=true,Maker=true,Supervisor=true},
新订单{OrderID=8,OrderDate=new DateTime(2012,8,6),EmployeeID=1,OrderDescription=“Order Food”,checker=true,Maker=true,Supervisor=true},
新订单{OrderID=9,OrderDate=new DateTime(2012,8,6),EmployeeID=1,OrderDescription=“订购办公材料”,checker=false,Maker=true,Supervisor=true},
新订单{OrderID=10,OrderDate=new DateTime(2012,8,7),EmployeeID=2,OrderDescription=“订单生产材料”,checker=true,Maker=true,Supervisor=true},
};
公共静态列表employeeList=新列表{
新员工{EmployeeID=1,Name=“Anrew”},
新员工{EmployeeID=2,Name=“John”},
新员工{EmployeeID=3,Name=“Peter”},
新员工{EmployeeID=4,Name=“Ivan”},
新员工{EmployeeID=5,Name=“Nancy”},
};
公共行动结果索引()
{
ViewData[“employees”]=employeeList。选择(e=>new{
EmployeeID=e.EmployeeID,
Name=e.Name
});
返回视图();
}
关于()的公共行动结果
{
返回视图();
}
公共操作结果读取([DataSourceRequest]DataSourceRequest请求)
{
var allOrders=来自订单列表中的订单
选择新订单{
OrderID=orders.OrderID,
OrderDate=orders.OrderDate,
EmployeeID=orders.EmployeeID,
OrderDescription=orders.OrderDescription,
checker=orders.checker,
制造者=订单。制造者
};
返回Json(allOrders.ToDataSourceResult(request));
}
公共操作结果删除([DataSourceRequest]DataSourceRequest请求,订单)
{
if(order!=null&&ModelState.IsValid)
{
var target=orderList.Where(o=>o.OrderID==order.OrderID).FirstOrDefault();
如果(目标!=null)
{
orderList.Remove(目标);
}
}
返回Json(ModelState.ToDataSourceResult());
}
[接受动词(HttpVerbs.Post)]
公共操作结果更新([DataSourceRequest]DataSourceRequest请求,订单)
{
if(order!=null&&ModelState.IsValid)
{
var target=orderList.Where(o=>o.OrderID==order.OrderID).FirstOrDefault();
如果(目标!=null)
{
int targetIndex=orderList.IndexOf(目标);
orderList[targetIndex].OrderDate=order.OrderDate;
orderList[targetIndex].EmployeeID=order.EmployeeID;
orderList[targetIndex].OrderDescription=order.OrderDescription;
orderList[targetIndex].checker=order.checker;
orderList[targetIndex].Maker=order.Maker;
orderList[targetIndex].Supervisor=order.Supervisor;
}
}
返回Json(ModelState.ToDataSourceResult());
}
公共操作结果创建([DataSourceRequest]DataSourceRequest请求,订单)
{
order.OrderID=orderList[orderList.Count-1].OrderID+1;
orderList.Add(订单);
返回Json(new[]{order}.ToDataSourceResult(request,ModelState));
}
公共操作结果更新创建删除(
[Bind(Prefix=“updated”)]列出更新的订单,
[Bind(Prefix=“new”)]列出新订单,
[Bind(Prefix=“deleted”)]列出删除者
{
if(updateOrders!=null&&updateOrders.Count>0)
{
for(int i=0;io.OrderID==UpdateOrders[i].OrderID).FirstOrDefault();
如果(目标!=null)
{
int targetIndex=orderList.IndexOf(目标);
orderList[targetIndex].OrderDate=UpdateOrders[i].OrderDate;
orderList[targetIndex].EmployeeID=UpdateOrders[i].EmployeeID;
orderList[targetIndex].OrderDescription=UpdateOrders[i].OrderDescription;
订单列表[targetIndex].checker=UpdateOrders[i].checker;
订单列表[targetIndex].Supervisor=UpdateOrders[i].Supervisor;