This example demonstrates how to use the GridViewExtension.BindToLINQ method to bind the GridView extension to a LINQ to XPO data source.
C#@Html.DevExpress().GridView(settings => {
settings.Name = "gvDataBindingToLinq";
// ...
}).BindToLINQ(string.Empty, string.Empty, (s, e) => {
e.KeyExpression = "Oid";
DevExpress.Xpo.Session session = XpoHelper.GetNewSession();
DevExpress.Xpo.XPQuery<MyObject> query = new DevExpress.Xpo.XPQuery<MyObject>(session);
e.QueryableSource = query;
}).GetHtml()
Files to Review
Documentation
Example Code
Razor@using E2836.Models
@using E2836.Helpers
@Html.DevExpress().GridView(settings =>
{
settings.Name = "gvDataBindingToLinq";
settings.CallbackRouteValues = new { Controller = "Home", Action = "GridViewPartial" };
settings.KeyFieldName = "Oid";
settings.Width = Unit.Percentage(100);
settings.Settings.ShowFilterRow = true;
settings.Settings.ShowGroupPanel = true;
settings.Settings.ShowFooter = true;
settings.Columns.Add("Title", MVCxGridViewColumnType.TextBox).Width = Unit.Percentage(70);
}).BindToLINQ(string.Empty, string.Empty, (s, e) => {
e.KeyExpression = "Oid";
DevExpress.Xpo.Session session = XpoHelper.GetNewSession();
DevExpress.Xpo.XPQuery<MyObject> query = new DevExpress.Xpo.XPQuery<MyObject>(session);
e.QueryableSource = query;
}).GetHtml()
Code@Imports E2836
@Html.DevExpress().GridView(Sub(settings)
settings.Name = "gvDataBindingToLinq"
settings.CallbackRouteValues = New With {
Key .Controller = "Home",
Key .Action = "GridViewPartial"
}
settings.KeyFieldName = "Oid"
settings.Width = Unit.Percentage(100)
settings.Settings.ShowFilterRow = True
settings.Settings.ShowGroupPanel = True
settings.Settings.ShowFooter = True
settings.Columns.Add("Title", MVCxGridViewColumnType.TextBox).Width = Unit.Percentage(70)
End Sub).BindToLINQ(String.Empty, String.Empty, Sub(s, e)
e.KeyExpression = "Oid"
Dim session As DevExpress.Xpo.Session = XpoHelper.GetNewSession()
Dim query As New DevExpress.Xpo.XPQuery(Of MyObject)(session)
e.QueryableSource = query
End Sub).GetHtml()