protected void RadGrid1_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
 {
     //Instantiate the model.
     using (NorthwindOpenAccessModel model = new NorthwindOpenAccessModel())
     {
         //Set the maximum amount of items the Grid will display.
         RadGrid1.VirtualItemCount = model.Orders.Count();
         //Query the model for the items for the current page.
         var ordersToBind = (from order in model.Orders
                             select order).Skip(RadGrid1.PageSize * RadGrid1.CurrentPageIndex).Take(RadGrid1.PageSize);
         //Set the datasource to the Grid instance.
         RadGrid1.DataSource = ordersToBind;
     }
 }
    protected void RadGrid1_UpdateCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e)
    {
        GridEditFormItem item = (GridEditFormItem)e.Item;

        //Instantiate the model.
        using (NorthwindOpenAccessModel model = new NorthwindOpenAccessModel())
        {
            //Get the primary key value using the DataKeyValue.
            int orderID = int.Parse(item.OwnerTableView.DataKeyValues[item.ItemIndex][RadGrid1.MasterTableView.DataKeyNames[0]].ToString());
            //Query the model for the element that should be updated.
            Order orderToUpdate = (from order in model.Orders
                                   where order.OrderID == orderID
                                   select order).FirstOrDefault();
            //Update the element.
            item.UpdateValues(orderToUpdate);
            //Save the changes back to the model.
            model.SaveChanges();
        }
    }
    protected void RadGrid1_InsertCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e)
    {
        GridEditFormItem item = (GridEditFormItem)e.Item;

        //Instantiate the model.
        using (NorthwindOpenAccessModel model = new NorthwindOpenAccessModel())
        {
            //Get the primary key value using the DataKeyValue.
            int lastOrderID = int.Parse(model.Orders.Last().OrderID.ToString());
            //Create the empty element that should be inserted.
            Order orderToAdd = new Order();
            //Apply the vlaues from the editor controls.
            item.UpdateValues(orderToAdd);
            //Increment the PK field.
            orderToAdd.OrderID = ++lastOrderID;
            //Add the element.
            model.Add(orderToAdd);
            //Save the changes back to the datasource.
            model.SaveChanges();
        }
    }