예제 #1
0
        private static string RenderColumnaCabecera(ColumnaDelGrid <TElemento> columna)
        {
            var porcentaje = columna.ZonaDeDatos.Mnt.Crud.Modo == ModoDescriptor.SeleccionarParaFiltrar ||
                             columna.ZonaDeDatos.Mnt.Crud.Modo == ModoDescriptor.Relacion ||
                             columna.ZonaDeDatos.Mnt.Crud.Modo == ModoDescriptor.Consulta
                ? columna.PorAnchoSel
                : columna.PorAnchoMnt;

            var atributosDelEstilo = $"text-align: {columna.AlineacionCss};";

            atributosDelEstilo = $"width: {porcentaje}%; {atributosDelEstilo}";
            string htmlRef = columna.ConOrdenacion
                ? RenderAccionOrdenar(columna)
                : columna.Titulo;

            string claseCss           = columna.Visible ? Css.Render(enumCssGrid.ColumnaCabecera) : Css.Render(enumCssGrid.ColumnaOculta);
            string claseCssAlineacion = columna.Alineada == Aliniacion.derecha ? $"class=¨{Css.Render(enumCssGrid.ColumnaAlineadaDerecha)}¨" : "";

            var htmlTh = $@"{Environment.NewLine}
                          <th scope=¨col¨
                              id = ¨{columna.IdHtml}¨ 
                              class=¨{claseCss}¨ 
                              propiedad = ¨{columna.Propiedad.ToLower()}¨
                              modo-ordenacion=¨{(columna.cssOrdenacion == enumCssOrdenacion.SinOrden ? $"{enumModoOrdenacion.sinOrden.Render()}": $"{enumModoOrdenacion.ascendente.Render()}")}¨ 
                              style = ¨{atributosDelEstilo}¨
                              alineacion=¨{columna.AlineacionCss}¨
                              ordenar-por = ¨{columna.OrdenarPor}¨>
                              <div {claseCssAlineacion}>
                                {htmlRef}
                              </div>
                          </th>";

            return(htmlTh);
        }
예제 #2
0
        private static string RenderAccionOrdenar(ColumnaDelGrid <TElemento> columna)
        {
            var gestorDeEventos = RenderGestorDeEventos(columna.ZonaDeDatos.Mnt.Crud.Modo);

            var parametros = $"{columna.IdHtml}";

            if (columna.ZonaDeDatos.Mnt.Crud.Modo == ModoDescriptor.SeleccionarParaFiltrar ||
                columna.ZonaDeDatos.Mnt.Crud.Modo == ModoDescriptor.Relacion ||
                columna.ZonaDeDatos.Mnt.Crud.Modo == ModoDescriptor.Consulta)
            {
                parametros = $"{columna.ZonaDeDatos.IdHtmlModal}#{parametros}";
            }

            string htmlRef = $"href =¨javascript: Crud.{gestorDeEventos}('ordenar-por', '{parametros}')¨";

            return($@"<a {htmlRef} class=¨{Css.Render(columna.cssOrdenacion)}¨>{columna.Titulo}</a>");
        }
예제 #3
0
 public CeldaDelGrid(ColumnaDelGrid <TElemento> columna)
 {
     _columna = columna;
 }