Hi,
Did you have any samples for CRUD operations using ODATA api for a Syncfusion grid control.
Thank you
Noted.
Thank you PraveenKumar
|
[app.component.html-page]
<ejs-grid #grid [dataSource]='data' height="320" [editSettings]='editSettings' [toolbar]='toolbar' > <e-columns>
<e-column field='OrderID' headerText='Order ID' isPrimaryKey=true width='150'></e-column>
<e-column field='CustomerID' headerText='Customer Name' width='150'></e-column>
<e-column field='ShipCity' headerText='ShipCity' width='150' textAlign='Right'></e-column>
</e-columns>
</ejs-grid> |
|
[app.component.ts-page]
import { DataManager, ODataV4Adaptor } from '@syncfusion/ej2-data'; import { GridComponent } from '@syncfusion/ej2-ng-grids';
@Component({
selector: 'fetchdata',
templateUrl: './fetchdata.component.html',
})
export class FetchDataComponent {
public data: any;
@ViewChild('grid')
public grid: GridComponent;
public editSettings: Object;
public toolbar: string[];
ngOnInit(): void {
this.data = new DataManager({
url: 'http://localhost:49442/Orders',
adaptor: new ODataV4Adaptor,
crossDomain: true
});
this.editSettings = { allowEditing: true, allowAdding: true, allowDeleting: true, newRowPosition: 'Top' };
this.toolbar = ['Add', 'Edit', 'Delete', 'Update', 'Cancel'];
}
} |
|
[controller- page]
using System.Collections.Generic;
using System.Linq;
using Microsoft.AspNetCore.Mvc;
using System.ComponentModel.DataAnnotations;
using System.Net;
using System.Net.Http;
using System.Web.OData;
namespace AngularwithASPCore.Controllers
{
[Produces("application/json")]
[Route("api/Orders")]
public class OrdersController : ODataController
{
public static List<Orders> order = new List<Orders>();
// GET: api/Orders
[HttpGet]
[EnableQuery]
public IQueryable<Orders> Get()
{
if (order.Count == 0)
BindDataSource();
return order.AsQueryable();
}
public Orders Patch([FromODataUri]int key, [System.Web.Http.FromBody]Delta<Orders> patch)
{
Orders data = order.Where(p => p.OrderID == key).FirstOrDefault();
patch.Patch(data);
return data;
}
public HttpResponseMessage Post(Orders value)
{
order.Add(value);
return Request.CreateResponse(HttpStatusCode.OK, value);
}
public HttpResponseMessage Delete([FromODataUri]int key)
{
Orders data = order.Where(p => p.OrderID == key).FirstOrDefault();
if (data != null)
{
order.Remove(data);
}
else
{
Request.CreateResponse(HttpStatusCode.NotFound);
}
return Request.CreateResponse(HttpStatusCode.OK, "Removed");
}
private void BindDataSource()
{
int code = 10000;
for (int i = 1; i < 10; i++)
{
order.Add(new Orders(code + 1, "ALFKI", i + 1, 2.3 * i, "Berlin"));
order.Add(new Orders(code + 2, "ANATR", i + 2, 3.3 * i, "Madrid"));
order.Add(new Orders(code + 3, "ANTON", i + 3, 4.3 * i, "Cholchester"));
order.Add(new Orders(code + 4, "BLONP", i + 4, 5.3 * i, "Marseille"));
order.Add(new Orders(code + 5, "BOLID", i + 5, 6.3 * i, "Tsawassen"));
code += 5;
}
}
public class Orders
{
public Orders()
{
}
public Orders(long OrderId, string CustomerId, int EmployeeId, double Freight, string ShipCity)
{
this.OrderID = OrderId;
this.CustomerID = CustomerId;
this.EmployeeID = EmployeeId;
this.Freight = Freight;
this.ShipCity = ShipCity;
}
[Key]
public long OrderID { get; set; }
public string CustomerID { get; set; }
public int EmployeeID { get; set; }
public double Freight { get; set; }
public string ShipCity { get; set; }
}
}
} |