Asunto: Error RowIndex out of range en cxGrid de ExpressQuantumGrid
Estoy desarrollando una aplicación de facturación y contabilidad, hasta ahora utilizaba Borland Delphi 6 y el componente QuantumGrid en su versión 3. He decidido actualizar el componente a ExpressQuantumGrid 6.40, he tenido que volver a añadir los grid en las ventanas pero no ha sido mayor problema. Funciona todo muy bien salvo cuando hago una agrupación, en ese caso, al cerrar la ventana me aparece este error:
---------------------------
Debugger Exception Notification
---------------------------
Project gestionInfo.exe raised exception class EcxInvalidDataControllerOperation with message 'RowIndex out of range'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------
En este caso la ventana no se cierra y el grid se queda vacío, cuando le vuelvo a dar a cerrar ventana entonces me deja cerrarla y ya no me da error.
¿A qué puede ser debido esto?
Depurando un poco veo que el error se produce en:
Código:
procedure InvalidOperation(const S: string);
begin
raise EcxInvalidDataControllerOperation.Create(S);
end;
de la unidad: cxCustomData.pas
Publicado:
Mar Oct 04, 2011 9:16 am
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Error RowIndex out of range en cxGrid de ExpressQuantumG
Anuncios
varios escribió:
Estoy desarrollando una aplicación de facturación y contabilidad, hasta ahora utilizaba Borland Delphi 6 y el componente QuantumGrid en su versión 3. He decidido actualizar el componente a ExpressQuantumGrid 6.40, he tenido que volver a añadir los grid en las ventanas pero no ha sido mayor problema. Funciona todo muy bien salvo cuando hago una agrupación, en ese caso, al cerrar la ventana me aparece este error:
---------------------------
Debugger Exception Notification
---------------------------
Project gestionInfo.exe raised exception class EcxInvalidDataControllerOperation with message 'RowIndex out of range'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------
En este caso la ventana no se cierra y el grid se queda vacío, cuando le vuelvo a dar a cerrar ventana entonces me deja cerrarla y ya no me da error.
¿A qué puede ser debido esto?
Depurando un poco veo que el error se produce en:
Código:
procedure InvalidOperation(const S: string);
begin
raise EcxInvalidDataControllerOperation.Create(S);
end;
de la unidad: cxCustomData.pas
Tras revisar los foros de la web del componente, parece que el problema se resuelve modificando el fichero cxDBData.pas, en concreto hay que cambiar esto:
Código:
procedure TcxDBDataController.ActiveChanged(AActive: Boolean);
begin
// IsGridMode can change when DataSet is set (for unidirectional datasets)
RestructData;
inherited;
end;
Por esto otro:
Código:
procedure TcxDBDataController.ActiveChanged(AActive: Boolean);
begin
// IsGridMode can change when DataSet is set (for unidirectional datasets)
if IsGridMode then
RestructData;
inherited;
end;
Haz la modificación, compila todo, prueba y nos cuentas.
Publicado:
Mar Oct 04, 2011 9:19 am
varios Magnífico usuario
Registrado: Oct 10, 2006 Mensajes: 2092
Asunto: [RESUELTO] Error RowIndex out of range en cxGrid
Anuncios
alonsojpd escribió:
Tras revisar los foros de la web del componente, parece que el problema se resuelve modificando el fichero cxDBData.pas, en concreto hay que cambiar esto:
Código:
procedure TcxDBDataController.ActiveChanged(AActive: Boolean);
begin
// IsGridMode can change when DataSet is set (for unidirectional datasets)
RestructData;
inherited;
end;
Por esto otro:
Código:
procedure TcxDBDataController.ActiveChanged(AActive: Boolean);
begin
// IsGridMode can change when DataSet is set (for unidirectional datasets)
if IsGridMode then
RestructData;
inherited;
end;
Haz la modificación, compila todo, prueba y nos cuentas.
¡¡¡Muchísimas gracias!!! he hecho la modificación, he compilado la aplicación y, de momento, ya se ha solucionado el error.
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A