Que tal gente, agradezco de antemano cualquier respuesta, el tema es asi, tengo este codigo javascript:
contador=0;
/*Al seleccionar el cliente recuperamos sus datos*/
function buscarData(){
Ext.Ajax.request({
url:"insert_detalle.php",
method :"POST",
params:{buscarid: buscar_ext.getValue()},
success: function(response){
var respuesta = Ext.util.JSON.decode(response.responseText);
if(respuesta.success)
{
if(respuesta.id_bautismo != null)
{
//Recuperamos los datos de la grilla detalles factura
//var data_grid = new Array();
var fila_grid = grid_certificado_bautismos.getStore().getRange();
if(fila_grid.length > 0)//si la grilla tiene al menos uno
{
for(var i = 0; i < fila_grid.length; i++)
{
if(respuesta.id_bautismo == fila_grid[i].data.id_bautismo)
{
alert("ya agregaste este numero");
contador = contador + 1;
break;
}
else if(contador == 1 || respuesta.id_bautismo != fila_grid[i].data.id_bautismo)
{
alert("este numero es diferente, y por eso voy a agregar la nueva fila");
var Plant = grid_certificado_bautismos.getStore().recordType;
var p = new Plant({
id_bautismo: respuesta.id_bautismo,
pbro_bautismo: respuesta.pbro_bautismo,
nombre_bautismo: respuesta.nombre_bautismo,
fecha_ncto_bautismo: null,
lugar_ncto_bautismo: null,
tipo_hijo_bautismo:null
});
grid_certificado_bautismos.stopEditing();
var index = grid_certificado_bautismos.getStore().getCount();
ds_certificado_bautismos.insert(index, p);
//grid_certificado_bautismos.getView().refresh();
grid_certificado_bautismos.startEditing(0, 0);
break;
}
}
}
else
{
var Plant = grid_certificado_bautismos.getStore().recordType;
var p = new Plant({
id_bautismo: respuesta.id_bautismo,
pbro_bautismo: respuesta.pbro_bautismo,
nombre_bautismo: respuesta.nombre_bautismo,
fecha_ncto_bautismo: null,
lugar_ncto_bautismo: null,
tipo_hijo_bautismo:null
});
grid_certificado_bautismos.stopEditing();
var index = grid_certificado_bautismos.getStore().getCount();
ds_certificado_bautismos.insert(index, p);
//grid_certificado_bautismos.getView().refresh();
grid_certificado_bautismos.startEditing(0, 0);
}
}
else
{
Ext.MessageBox.alert('Atención!', 'Producto no registrado.')
}
}
/*else{
}*/
}
});
};
el tema es que ingreso algun numero en un campo de texto, y luego de un ENTER me efectua una consulta en la BD, me devuelve el resultado sin problemas, luego de esta consulta me agrega una fila dinamicamente en el GRID_CERTIFICADO_BAUTISMOS, y carga en ello los valores de la fila devuelta, lo que quiero hacer es, si es que en esa grilla ya esta agregada la fila con ID=1, al efectuar otra consulta con ID=1, me diga, este numero ya esta gregado, en sintesis, al recorrer los valores del grid, si encuentra un ID ya agregado, no agregue la fila, en un primer momento funciona, pero al tener mas filas ya no funciona correctamente, se que por que por cada fila en el grid, va preguntando si es igual a lo ingresado o no, la variable contador es GLOBAL, no se si me explique bien, culaquier ayuda vendria bien, gracias.