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); }
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>"); }
public CeldaDelGrid(ColumnaDelGrid <TElemento> columna) { _columna = columna; }