ComponentOne ASP.NET MVC Controls
OData Binding
Working with Controls > FlexGrid > Work with FlexGrid > Data Binding > OData Binding

OData model is a server-side model, so entire data is available at the server side. To apply OData binding in FlexGrid, you need to specify the service url, table name, and keys property. This topic describes how to add data to FlexGrid using OData binding.

The following image shows how the FlexGrid control appears after implementing the code below.

In Code

FlexGridController

C#
Copy Code
public class FlexGridController : Controller
    {
        // GET: FlexGrid
        public ActionResult Index()
        {
            return View();
        }
    }

Index.cshtml

Razor
Copy Code
@(Html.C1().FlexGrid()
        .Id("ODataBinding")
        .IsReadOnly(true)
        .AllowAddNew(false)
        .AllowDelete(false)
        .CssStyle("height", "300px")
        .AutoGenerateColumns(false)
        .BindODataSource(odsb =>
                            odsb.ServiceUrl("https://services.odata.org/Northwind/Northwind.svc")
                            .TableName("Products")
                            .Keys("ProductID"))
        .Columns(csb =>
        {
            csb.Add(cb => cb.Binding("ProductID").Width("*"));
            csb.Add(cb => cb.Binding("ProductName").Width("*"));
            csb.Add(cb => cb.Binding("QuantityPerUnit").Width("*"));
            csb.Add(cb => cb.Binding("UnitsInStock").Width("*"));
        })
        .Filterable(fb => fb.DefaultFilterType(FilterType.Both)))