Gets the underlying un-filtered collection.
Syntax
| Visual Basic (Declaration) | |
|---|
Overrides Public NotOverridable ReadOnly Property SourceCollection As IEnumerable |
Return Value
An
IEnumerable object that represents the underlying collection.
Example
All examples in this topic assume that the grid is bound to the Orders table of the Northwind database, unless stated otherwise.
The following example demonstrates how to delete the selected items from the underlying data view when the delete key is pressed via the PreviewKeyDown event.
| XAML | Copy Code |
|---|
<Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"> <Grid.Resources> <xcdg:DataGridCollectionViewSource x:Key="cvs_orders" Source="{Binding Source={x:Static Application.Current}, Path=Orders}"/> </Grid.Resources> <xcdg:DataGridControl x:Name="OrdersGrid" ItemsSource="{Binding Source={StaticResource cvs_orders}}" PreviewKeyDown="DeleteSelectedRows"> </xcdg:DataGridControl> </Grid> |
| Visual Basic | Copy Code |
|---|
Private Sub DeleteSelectedRows(ByVal sender As Object, ByVal e As KeyEventArgs)
Dim grid As DataGridControl = TryCast( sender, DataGridControl )
If Not grid Is Nothing Then
If e.Key = Key.Delete Then
If grid.SelectedItems.Count > 0 Then
Dim items As ArrayList = New ArrayList( grid.SelectedItems )
Dim dataView As DataView = TryCast( ( CType( grid.ItemsSource, _
DataGridCollectionView ) ).SourceCollection, DataView )
For i As Integer = items.Count - 1 To 0 Step -1
dataView.Table.Rows.Remove( CType( items( i ), System.Data.DataRow ) )
Next i
grid.CurrentItem = grid.Items( 0 )
End If
End If
End If
End Sub |
| C# | Copy Code |
|---|
Private void DeleteSelectedRows( Object sender, KeyEventArgs e )
{
DataGridControl grid = sender As DataGridControl;
If( grid != null )
{
If( e.Key == Key.Delete )
{
If( grid.SelectedItems.Count > 0 )
{
// we keep a copy of the selected items because once the first item Is deleted,
// the selected items are reset To 0 And the source may be automatically modified To
// reflect the New items.
ArrayList items = New ArrayList( grid.SelectedItems );
DataView dataView = ( ( DataGridCollectionView )grid.ItemsSource ).SourceCollection As DataView;
For( int i = items.Count - 1; i >= 0; i-- )
{
dataView.Table.Rows.Remove( ( System.Data.DataRow )items[ i ] );
}
grid.CurrentItem = grid.Items[ 0 ];
}
}
}
} |
Requirements
Supported Frameworks: Microsoft .NET Framework version 3.5
See Also