Back to Devexpress

VerticalGridExtension.BindToLINQ(String, String, EventHandler<LinqServerModeDataSourceSelectEventArgs>, EventHandler<ServerModeExceptionThrownEventArgs>) Method

aspnetmvc-devexpress-dot-web-dot-mvc-dot-verticalgridextension-dot-bindtolinq-x28-string-string-eventhandler-linqservermodedatasourceselecteventargs-eventhandler-servermodeexceptionthrowneventargs-x29.md

latest5.1 KB
Original Source

VerticalGridExtension.BindToLINQ(String, String, EventHandler<LinqServerModeDataSourceSelectEventArgs>, EventHandler<ServerModeExceptionThrownEventArgs>) Method

Binds the VerticalGrid to a queryable source in database server mode.

Namespace : DevExpress.Web.Mvc

Assembly : DevExpress.Web.Mvc5.v25.2.dll

NuGet Package : DevExpress.Web.Mvc5

Declaration

csharp
public VerticalGridExtension BindToLINQ(
    string contextTypeName,
    string tableName,
    EventHandler<LinqServerModeDataSourceSelectEventArgs> selectingMethod,
    EventHandler<ServerModeExceptionThrownEventArgs> exceptionThrownMethod
)
vb
Public Function BindToLINQ(
    contextTypeName As String,
    tableName As String,
    selectingMethod As EventHandler(Of LinqServerModeDataSourceSelectEventArgs),
    exceptionThrownMethod As EventHandler(Of ServerModeExceptionThrownEventArgs)
) As VerticalGridExtension

Parameters

NameTypeDescription
contextTypeNameString

A string representing the DataContext type name.

| | tableName | String |

A string specifying the table name.

| | selectingMethod | EventHandler<LinqServerModeDataSourceSelectEventArgs> |

A method to which selection logic is delegated.

| | exceptionThrownMethod | EventHandler<ServerModeExceptionThrownEventArgs> |

A delegate method that allows you to catch unhandled/CLR exceptions.

|

Returns

TypeDescription
VerticalGridExtension

A VerticalGridExtension object representing the VerticalGrid extension.

|

Remarks

Using the BindToLINQ method, you can easily bind the VerticalGrid to queryable data sources. Simply call the method, pass the DataContext and table name as method parameters, and specify the key field via the VerticalGrid’s GridSettingsBase.KeyFieldName property.

Internally, the BindToLINQ method uses our LinqServerModeDataSource component, which was specifically designed to allow the VerticalGrid to efficiently process large amounts of data. The LinqServerModeDataSource component automatically enables database server mode to optimize the execution of all LINQ queries initiated by the VerticalGrid. In this mode, the VerticalGrid loads records on demand and performs data-aware operations (sorting, filtering, grouping, etc.) on the data server. This technique significantly improves the VerticalGrid’s speed and responsiveness.

Example

The code sample below demonstrates how to catch the internal exception thrown when using the database server mode data binding approach.

View code (Razor):

csharp
@Html.DevExpress().VerticalGrid(settings => {
    // VerticalGrid settings
}).BindToLINQ(string.Empty, string.Empty, (s, e) => {
    // Specify queryable source
    var dataContext = new MyProject.Models.LargeDatabaseDataContext();
    e.QueryableSource = dataContext.Emails;
    e.KeyExpression = "Id";
}, (s, e) => {
    // Handle internal exception
    ViewContext.Writer.Write(e.Exception.Message + Environment.NewLine + e.Exception.StackTrace);
}).GetHtml()

See Also

Bind Vertical Grid to Large Data (Database Server Mode)

BindToEF

Vertical Grid

VerticalGridExtension Class

VerticalGridExtension Members

DevExpress.Web.Mvc Namespace