LinqPad Custom Visualizer

I have created a Custom Visualizer based on my DataEditor, it can only be used with the LINQPad Beta: v4.36.x and later.

Installation

Download AW.LinqPadExtensions.zip and then unzip to the LinqPad plugins folder.

Usage

Call one of these extension methods:
public static IEnumerable DisplayInGrid(this IEnumerable enumerable)
public static IEnumerable DisplayInGrid(this IQueryable enumerable, ushort pageSize)
public static IEnumerable DisplayInGrid(this IEnumerable enumerable, IDataEditorPersister dataEditorPersister)
public static IEnumerable DisplayInGrid(this IEnumerable enumerable, IDataEditorPersister dataEditorPersister, ushort pageSize)
public static IEnumerable<T> DisplayInGrid<T>(this IEnumerable<T> enumerable) 
public static IEnumerable<T> DisplayInGrid<T>(this IEnumerable<T> enumerable, IDataEditorPersister dataEditorPersister)
public static IEnumerable<T> DisplayInGrid<T>(this IEnumerable<T> enumerable, IDataEditorPersister dataEditorPersister, ushort pageSize)
// LINQToSQL
public static IEnumerable<T> DisplayInGrid<T>(this Table<T> table) 
public static IEnumerable<T> DisplayInGrid<T>(this Table<T> table, ushort pageSize) 
public static IEnumerable<T> DisplayInGrid<T>(this IQueryable<T> dataQuery, DataContext dataContext) 
public static IEnumerable<T> DisplayInGrid<T>(this IQueryable<T> dataQuery, DataContext dataContext, ushort pageSize) 
// LLBL (Included in the unreleased v2.1 driver not in AW.LinqPadExtensions.zip)
public static IEnumerable<T> ShowSelfServicingInGrid<T>(this IEnumerable<T> enumerable, ushort pageSize) where T : EntityBase
public static IEnumerable<T> ShowSelfServicingInGrid<T>(this IEnumerable<T> enumerable) where T : EntityBase
public static IEnumerable DisplaySelfServicingInGrid(this IEnumerable enumerable, ushort pageSize)
public static IEnumerable DisplayInGrid(this IEnumerable enumerable, IDataAccessAdapter dataAccessAdapter, ushort pageSize)   
public static IEnumerable<T> DisplayInGrid<T>(this IEnumerable<T> enumerable, IDataAccessAdapter dataAccessAdapter, ushort pageSize) where T : EntityBase2
public static IEnumerable<T> DisplayAdapterInGrid<T>(this IQueryable<T> query, ushort pageSize) where T : EntityBase2
public static IEnumerable<T> DisplayAdapterInGrid<T>(this IQueryable<T> query) where T : EntityBase2

The DisplayInGrid Custom Visualizer is paged and defaults to a page size of 10, note that, as with the DataEditor, clicking a column sorts the current page not the whole enumeration as is normal in paged grids.

DisplayInGrid returns an empty enumeration rather than void simply so it can be used with a LinqPad expression language where the output gets piped to the dump command.

Saving changes

As with the DataEditor, to save the changes to the DB a DataEditorPersister must be supplied, except for LINQToSQL and LLBL queries, for which there are specific extension methods which use built-in LINQToSQL and LLBL DataEditorPersisters.
If no DataEditorPersister is provided the DataEditor will be in readonly mode.

Example

NutShell DB (included with linqPad samples)


AW.LinqPadExtensions.CustomVisualizers.DisplayInGrid(Customers)

Last edited Mar 19, 2012 at 11:06 AM by JezzaT, version 22

Comments

No comments yet.