Formulario Lista 2.0.N
Ir a la navegación
Ir a la búsqueda
Formulario Lista
Código de Referencia
using FlexiPyme.ui.extras;
using FlexiPyme.ui.formularios.especificos.lista;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Web;
using FlexiAplicacion.LogicaComun;
namespace FlexiAplicacion.##CARPETA##
{
public class ##FORMULARIO## : FlexiLista
{
// Este metodo se ejecuta 1 vez para cargar la definición del formulario
public override void InicializarFormulario()
{
// Propiedades que definen el query que se realizara para visualizar los datos
this.QuerySelect = @"select * ";
this.QueryFrom = @"from Usuarios";
this.QueryWhere = "";
this.QueryOrdeBy = "nombre";
// Propiedades para configuración general del forumuario
this.Paginar = true;
this.ItempsPorPagina = 50;
this.RecordarFiltros = true;
this.CodigoNuevo = "frmEjemploEdicion";
this.ParametroNuevo = "id";
this.FiltrarAlCargar = true;
this.TotalesPrimeraFila = true;
this.ColoresFilas.Campo = "estado";
this.ColoresFilas.AgregarCondicion("SI", Color.Red);
// Ejemplos de tipos de columnas para visualizar
this.AgregarColumnaID();
this.AgregarColumnaTexto("campo", "Titulo");
this.AgregarColumnaMoneda("campo", "Titulo");
this.AgregarColumnaEntero("campo", "Titulo");
this.AgregarColumnaFecha("campo", "Titulo");
// Ocular una columna de datos
this.BuscarColumna("campo").Visible = false;
// Para cuando lo llama un formulario en un campo Ajax
this.BuscarColumna("nombre").EsTextoPopUp = true;
// Alineacion
this.BuscarColumna("campo").TextAlign = "center"; // center, left right
this.BuscarColumna("campo").TituloAlign = "center"; // center, left right
// Ejemplo de columna de redireccion a otro formulario
this.AgregarColumnaAccion("nombre", "frmFormuEdicion", "id", "id");
// Ejemplo de columna de tipo accion que dispara el evento: "EjecutarAccionFila"
this.AgregarColumnaAccionTipoEvento("nombre acc", "id");
// Deshabilitar Loading al ejecutar Acción
this.BuscarAccion("nombre acc").MostrarLoading = false;
// Ejemplo de Filtros.
this.AgregarFiltroSeleccionAjax("idCliente", "o.idCliente = @idCliente", "Cliente", "Clientes", "id", "razonSocial");
this.AgregarFiltroSeleccionSimple("idCliente", "o.idCliente = @idCliente", "Cliente", "Clientes", "id", "razonSocial");
this.AgregarFiltroLibre("numero", "o.numero = @numero", "Número");
this.AgregarFiltroFecha("fechaDesde", "fecha <= @fechaDesde", "Fecha Desde");
this.AgregarFiltroEtiqueta("parametro", "Titulo");
this.AgregarFiltroTilde("vencidos", "fechaVeencimietno is null", "Vencidos");
// Accion de tipo columna
this.AgregarColumnaAccionTipoEvento("resumen", "id");
// Accion que se ejecuta en todo el formulario.
this.AgregarAccionFormulario("Ejecutar Acción", true);
// Ubicar filtros en misma fila
this.BuscarFiltro("idCliente").EstablecerAnchoGrid(2, 4, false);
this.BuscarFiltro("cuit").EstablecerAnchoGrid(2, 4, true);
// Deshabilitar Campo
this.BuscarFiltro("dni").Habilitado = false;
this.CambiarCamposCabeceraAnchosGridTitulos(3);
this.CambiarCamposCabeceraAnchosGridCampos(9);
}
// Se ejecuta la primera vez que se carga el formulario
public override void AntesDeCargarFormulario()
{
// Ej: se precarga un filtro con un valor por defecto.
this.BuscarFiltro("fechaDesde").Valor = DateTime.Today;
// Ej: controlar acceso por perfil
if (Seguridad.UsuarioLogueado.NombreGrupo != "Administracion")
throw new Exception("Perfil no autorizado.");
}
// Se ejecuta cada vez que se presiona Filtrar
public override void AntesDeVisualizarLista()
{
// Generalmente se utiliza este evento cuando se generan los datos programáticamente.
int idUsuarioGrupo = this.BuscarFiltro("idUsuarioGrupo").ValorEntero;
string sql = @"select * from Usuarios where idUsuarioGrupo = @idUsuarioGrupo";
Dictionary<string, object> pars = new Dictionary<string, object>();
pars.Add("@idUsuarioGrupo", idUsuarioGrupo);
this.DatosAVisualizar = FlexiDb.Listar(sql, pars);
}
// Cuando se agrega una columna de tipo accion y se presion a el boton en cada fila,
// se ejecuta este método.
public override void EjecutarAccionFila(string accion, int id)
{
if (accion == "estado piezas")
{
VariablesDeEntorno.GuardarValorEnVariable(this.WorkflowId, "idObra", id);
Dictionary<string, string> pars = new Dictionary<string, string>();
pars.Add("id", "0");
Navegacion.Redireccionar(this.WorkflowId, "frmEstadoPiezasLista", pars);
}
}
// Cuando se definen acciones a nivel formulario y se presionan los botones se ejecuta este método.
public override void EjecutarAccion(string accion)
{
if (accion == "Accion Formulario")
{
Dictionary<string, string> pars = new Dictionary<string, string>();
pars.Add("id", "0");
Navegacion.Redireccionar(this.WorkflowId, "frmEstadoPiezasLista", pars);
}
}
}
}