comportamiento curioso en DBGrid!!
Hola amigos, hola denuevo:
tengo mi grilla q representa al detalle de una factura que es un TClientDataSet
ingreso directamente los articulos en la grilla , en evento OnValidate del campo id_articulo pongo:
procedure TfrmCompras.cdsMovimientos_detalleid_articuloValidate(
Sender: TField);
begin
// verificar si esta en la lista para no duplicar el producto
if CDSClone.Locate('id_producto', Sender.Text, [loCaseInsensitive]) then
begin
MessageDlg('ya existe el producto', mtWarning, [mbOk], 0);
Abort;
// DataBaseError('ya existe el producto' , nil);
end;
end;
CDSClone es un clon del TDataSet para poder buscar de ahi los productos ingresados (sugerencia de caro).
este codigo funciona bien, PERO cuando digamos ya he ingresado 10 productos y luego me coloco en los primeros registros, al hacer la validacion. La grilla muestra todos los id_articulos con el mismo id que busco note q ese efecto es solo visual porque al cancelar todos los ids se ponen como deben ser, este problema no se presenta cuando estoy insertando los articulo, para ser mas explicitos veamos:
item producto ....n campo
01 012
02 013
03 014
04 015
05 016
si me coloco en el item 02 y luego ejecuto este codigo:
cdsMovimientos_detalle.Edit;
cdsMovimientos_detalle['id_producto'] := '015';
ocurre el efecto ya antes mensionado, todos los ids se pones '015'
ojala puedan ayudarme con eso
Saludos y Gracias como siempre!!
|