Ver Mensaje Individual
  #2  
Antiguo 31-03-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Reputación: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
No conozco el componente pero a simple vista puede decirse que funciona "igual" al TStringGrid standart
1) RemoveSelectedRows no necesariamente elimina una por una. En realidad elimina la fila seleccionada cuando le haces click con el boton izq. La que esta "sombreada en azul" (me imagino por defecto). Tambien seguro tiene una propiedad multi select que si la pones a true te deja seleccionar varias filas apretando shift o alguna otra tecla, y entonces si llamas a RemoveSelectedRows te elimina todas las seleccionadas.

Dicho esto, Lo que hace tu for es recorrer todo el grid, hace una "pregunta" (no importa realmente que) y si da true, elimina la(s) fila seleccionada. Supongamos que esta seleccionada la primer fila cuando llamas a ese codigo, entonces elimina la primera, luego la seleccionada pasa a ser la de abajo, y si el codigo vuevle a dar true, te elimina la segunda (que ahora seria la primera). Osea que te puede pasar que estes preguntando por el checkbox i-esimo y estas eliminando otra fila, Me sigues?

2) RemoveRows. Este tiene pinta de que le das un valor de inicio y uno de fin, supongamos i y j. Entonces lo que hace es eliminar todas las filas que esten entre a y j. Lo que hace una llamda como la de tu codigo:

Código Delphi [-]

GridProcedimientos.RemoveRows(GridProcedimientos.Row, GridProcedimientos.RowCount);

RowCount es la cantidad de filas, si tenes seleccionada la primera (GridProcedimientos.Row), entonces estas diciendole que elimine todo

Lo que tendrias que hacer es un for similar al que pusiste primero, pero en ves de llamar a RemoveSelectedRows, tendrias que ver la forma de eliminar la fila i-esima (la que coincide con el checkbox del cual estas preguntando el estado)

A ver si te sale, suerte!
Responder Con Cita