Hola Ismael....siento dar respuesta tan tarde a tu pregunta...he estado un tiempo alejado del object pascal y Lazarus... pero te cuento: Lazarus te ofrece un componente ideal para el problema que describes y es StrinGrid, el te permite control total sobre todo lo que suceda en la grid...para lo que necesitas te recomiendo el controlador de evento OnKeypress, por ejemplo..para controlar que en las celdas de la primera columna siempre el dato sea num�rico generar�as el siguiente c�digo:
procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: char);
begin
with StringGrid1
do begin
if Col = 1 then
if (Key in ['0'..'9'] ) then
begin
Cells[Col,Row]:=Cells[Col,Row]+Key;
Exit;
end;
else Exit;
Cells[Col,Row]:= Cells[Col,Row]+Key;
end;
end;Es solo para ilustrar pero a partir de aqu� podras construir lo que quieras.
Saludos
pp
*********************************************************
Yo quiero introducir los datos en el grid, pero validar tanto el dato que existe en la celda tanto antes como despu�s de editarla. Nada de a la hora de abrir la consulta. Porque no abro consulta alguna (en muchos casos).
Es para agregar datos al grid o modificar los datos agregados. Pero estos deben cumplir reglas de validaciones variables. Por ejemplo si en la columna 1 pongo 20 en la 2 puede solo poner X o Y, y as�, pero sin seguir normas fijas. Y si al editarla ten�a 20 restarlo del valor de otra columna y cuando la termine de editar sumarla a la columna anterior.
Son validaciones din�micas por lo que necesito es poder tener un evento en el grid que sea after edit y otro before edit o por el estilo. Pero del grid ya que eso no va a parar a un registro de forma directa. En los lenguajes de Microsoft suelo utilizar los eventos: AfterColEdit y BeforeColEdit que me permiten realizar estas validaciones de los cuales puedo tomar los datos existentes en una celda determinada de la siguiente forma: Valor = Grid.Columns(ColIndex)
