Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/09/2009, 05:58
Avatar de sirurza
sirurza
 
Fecha de Ingreso: julio-2009
Mensajes: 14
Antigüedad: 15 años, 7 meses
Puntos: 0
Linq Vs Datagridview.Datasource

Buenas, estoy apunto de probocar un suicidio colectivo por culpa de esto.
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
  1. Public Sub New(ByVal _Entorno As object ByVal empresa As Empresa)
  2.         InitializeComponent()
  3.  
  4.         Me._Empresa = empresa
  5.         Me._Entorno = _Entorno
  6.  
  7.      
  8.         Using db As New nasav4(_Entorno.StringConection)
  9.             Dim pr_empres = From din_empres In db.din_empres _
  10.                             Order By din_empres.cod_emp
  11.             dgEmpresas.DataSource = pr_empres
  12.  
  13.  
  14.             dgEmpresas.SelectionMode = Windows.Forms.DataGridViewSelectionMode.FullRowSelect
  15.             Me.Dock = Windows.Forms.DockStyle.Fill
  16.  
  17.          
  18.         End Using
  19.  
  20.     End Sub

Si fuerzo el Ordenado(Sort) me salta esta excepción.
Código vb:
Ver original
  1. No se controló System.InvalidOperationException
  2.   Message="No se puede ordenar un control DataGridView si está enlazado a un IBindingList que no admite la acción de ordenar."
  3.   Source="System.Windows.Forms"
  4.   StackTrace:
  5.        en System.Windows.Forms.DataGridView.SortDataBoundDataGridView_PerformCheck(DataGridViewColumn dataGridViewColumn)
  6.        en System.Windows.Forms.DataGridView.SortInternal(IComparer comparer, DataGridViewColumn dataGridViewColumn, ListSortDirection direction)
  7.        en System.Windows.Forms.DataGridView.Sort(DataGridViewColumn dataGridViewColumn, ListSortDirection direction)
  8.        en lib_empres.Principal.dgEmpresas_ColumnHeaderMouseClick(Object sender, DataGridViewCellMouseEventArgs e)
  9. etc etc etc

Última edición por sirurza; 02/09/2009 a las 07:31 Razón: Mejorar el post