wpf - Clasificación inicial de DataGrid
user-controls wpfdatagrid (1)
Tengo un control de usuario que contiene un ToolGit de WPF DataGrid
. Este control se usa en muchos lugares diferentes en mi aplicación. La grilla no tiene conocimiento sobre el tipo de datos que se mostrarán. ¿Hay alguna manera de ordenar inicialmente la cuadrícula por la primera columna en orden ascendente sin importar con qué datos se llene la cuadrícula? No creo que pueda usar un CollectionViewSource
porque no conozco el PropertyName
de la propiedad vinculado a la primera columna.
Podría conectar a un evento:
dataGrid.AutoGeneratedColumns += dataGrid_AutoGeneratedColumns;
y ordena la primera columna:
void dataGrid_AutoGeneratedColumns(object sender, EventArgs e)
{
var firstCol = dataGrid.Columns.First();
firstCol.SortDirection = ListSortDirection.Ascending;
dataGrid.Items.SortDescriptions.Add(new SortDescription(firstCol.SortMemberPath, ListSortDirection.Ascending));
}
Le sugiero que cree un control DataGrid
derivado derivado, colocando esta lógica allí y usando el nuevo control para evitar repetir el código cada vez.
public class CustomDataGrid : DataGrid
{
public DynamicDataGrid()
{ ... }
...
}