ya tengo un ejemplo mas explicito
if (Tabla.State in [dsedit, dsinsert]) and Grid.SelectedIndex = nColumnaPickList then
begin
if ValorPickList = 'A' then
Tabla.FieldbyName(CampoaModificar).AsString := 'B'
else if ValorPickList = 'B' then
Tabla.FieldbyName(CampoaModificar).AsString := 'C'
end
donde:
nColumnaPickList: Indice de la columna dpnde esta el picklist
ValorPickList: Es el valor que tiene la columna del pick list(no investigue como obtenerlo)
CampoaModificar: es el nombre del campo que deseas modificar dependiendo el valor del pick list onStateChange del data source al que esta conectado el grid.
Espero que te sirva, si falto algo hazlo saber a ver en que te puedo ayudar, SUERTE
Todo este procedimiento debe ir dentro del evento