Beispiel #1
0
        public virtual void OnValidarGrid(ValidacionGridEventArgs e)
        {
            ValidacionGridEventHandler handler = ValidarGrid;

            if (handler != null)
            {
                handler(e);
            }
        }
Beispiel #2
0
 void DgvPlus_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
 {
     if (PermitirEventosInternos)
     {
         try
         {
             if (this.CurrentRow.Cells[e.ColumnIndex].IsInEditMode)
             {
                 AntesBuscarCellEventArgs argumentos = new AntesBuscarCellEventArgs(e.ColumnIndex, e.RowIndex);
                 OnAntesBuscarCell(argumentos);
                 if (argumentos.TipoConsulta == TipoConsulta._NoSet)
                 {
                     columnasgrid registro = this.ColumnasGrid.Find(x => x.nombre.ToUpper() == this.Columns[e.ColumnIndex].Name.Substring(3) && !string.IsNullOrEmpty(x.busqueda));
                     if (registro != null)
                     {
                         TipoConsulta tipo;
                         Enum.TryParse(registro.busqueda, out tipo);
                         argumentos.TipoConsulta = tipo;
                     }
                     else
                     {
                         return;
                     }
                 }
                 if (argumentos.TipoConsulta != TipoConsulta._NoSet)
                 {
                     if (!argumentos.Cancel)
                     {
                         object nombreColumna = this.Columns[e.ColumnIndex].Tag;
                         ValidacionGridEventArgs argumento = new ValidacionGridEventArgs(e.ColumnIndex, e.RowIndex)
                         {
                             Cancel = e.Cancel, EsBoton = false
                         };
                         OnValidarGrid(argumento);
                         e.Cancel = argumento.Cancel;
                         if (!e.Cancel)
                         {
                             object objeto = null;
                             if (argumentos.ColumnaObjeto != null)
                             {
                                 nombreColumna = argumentos.ColumnaObjeto;
                             }
                             if (!this.Columns.Contains((nombreColumna ?? "").ToString()))
                             {
                                 e.Cancel = true;
                                 //this.CancelEdit();
                                 ModeloDB.General.Mensaje("Columna destino de objeto encontrado no definida");
                             }
                             else
                             {
                                 objeto = BuscarListaPr.BuscarRegistro(argumentos.TipoConsulta, this.EditingControl.Text);
                                 if (objeto != null)
                                 {
                                     this.CurrentRow.Cells[nombreColumna.ToString()].Value = objeto;
                                     ((Instrumental1)this.CurrentRow.DataBoundItem).IntegrarAsociados();
                                 }
                                 else
                                 {
                                     e.Cancel = true;
                                     //this.CancelEdit();
                                     ModeloDB.General.Mensaje("Objeto no encontrado.");
                                 }
                             }
                         }
                     }
                 }
                 else
                 {
                     e.Cancel = true;
                     //this.CancelEdit();
                     ModeloDB.General.Mensaje("Tipo de consulta no definida");
                 }
             }
         }
         catch (Exception ex)
         {
             e.Cancel = true;
             //this.CancelEdit();
             ModeloDB.General.Mensaje(ex.Message);
         }
     }
 }