Cuando asigno una consulta LINQ a un Datagridview, me genera todo bien, pero no permite ordenar haciendo un simple click a la cabecera de la columna.
En MSDN no aclaran nada, dicen que tengo que usar unos interfaces pero no dice ni como ni donde....
Aqui teneis el codigo, para que veis mas o menos lo simple que es....
Código vb:
Ver original
Public Sub New(ByVal _Entorno As object ByVal empresa As Empresa) InitializeComponent() Me._Empresa = empresa Me._Entorno = _Entorno Using db As New nasav4(_Entorno.StringConection) Dim pr_empres = From din_empres In db.din_empres _ Order By din_empres.cod_emp dgEmpresas.DataSource = pr_empres dgEmpresas.SelectionMode = Windows.Forms.DataGridViewSelectionMode.FullRowSelect Me.Dock = Windows.Forms.DockStyle.Fill End Using End Sub
Si fuerzo el Ordenado(Sort) me salta esta excepción.
Código vb:
Ver original
No se controló System.InvalidOperationException Message="No se puede ordenar un control DataGridView si está enlazado a un IBindingList que no admite la acción de ordenar." Source="System.Windows.Forms" StackTrace: en System.Windows.Forms.DataGridView.SortDataBoundDataGridView_PerformCheck(DataGridViewColumn dataGridViewColumn) en System.Windows.Forms.DataGridView.SortInternal(IComparer comparer, DataGridViewColumn dataGridViewColumn, ListSortDirection direction) en System.Windows.Forms.DataGridView.Sort(DataGridViewColumn dataGridViewColumn, ListSortDirection direction) en lib_empres.Principal.dgEmpresas_ColumnHeaderMouseClick(Object sender, DataGridViewCellMouseEventArgs e) etc etc etc