.NET C# Extension Methods - DataGridView

Thursday, November 19, 2009

.NET C# Extension Methods - DataGridView

Other extension methods:

---------------------------

Extension method for DataGridView. Returns IDictionary with values of all selected rows and columns that are specified by parameter columnName.

        /// <summary>
/// Gets values from selected rows and specified columns.
/// </summary>
/// <param name="grid">The grid.</param>
/// <param name="columnName">Name of the column/s.</param>
/// <returns></returns>
public static IList<IDictionary<string, object>> GetSelectedValuesFrom( this DataGridView grid, params string[] columnName )
{
IList<IDictionary<string,object>> results = new List<IDictionary<string, object>>( grid.SelectedRows.Count );

foreach( DataGridViewRow row in grid.SelectedRows )
{
IDictionary<string,object> rowResult = new Dictionary<string, object>( columnName.Length );

foreach( string column in columnName )
{
rowResult.Add( column, row.Cells[ column ] );
}

results.Add( rowResult );
}

return results;
}

Extension method for DataGridView. Returns a list with values of all selected rows in the columns specified by parameter columnName.

        public static IList<T> GetSelectedValuesFrom<T>( this DataGridView grid, string columnName )
{
IList<T> results = new List<T>( grid.SelectedRows.Count );

foreach( DataGridViewRow row in grid.SelectedRows )
results.Add( GetCurrentValueFrom<T>( grid, columnName ) );

return results;
}

Extension method for DataGridView. Returns a single value of selected row in the columns specified by parameter columnName.

        public static T GetCurrentValueFrom<T>( this DataGridView grid, string columnName )
{
if (grid.CurrentRow != null)
{
return (T)Convert.ChangeType(grid.CurrentRow.Cells[columnName].Value, typeof(T));
}
return (T) Convert.ChangeType(- 1,typeof(T));
}

No comments:

Post a Comment