private static string RenderControlesParaMapearElDto(DescriptorDeTabla tabla, short i, short j) { var porcentajeDeEtiqueta = (short)ElementoDto.ValorDelAtributo(typeof(TElemento), nameof(IUDtoAttribute.AnchoEtiqueta)); var pocentajeDeControl = 100 - porcentajeDeEtiqueta; var porcentajeDelSeparador = (short)ElementoDto.ValorDelAtributo(typeof(TElemento), nameof(IUDtoAttribute.AnchoSeparador)); var columna = tabla.ObtenerFila(i).ObtenerColumna(j); var htmlControles = ""; double anchoEtiqueta = columna.NumeroDeEtiquetasVisibles == 0 ? 0 : porcentajeDeEtiqueta / columna.NumeroDeEtiquetasVisibles; double anchoControl = columna.NumeroControlesVisibles == 0 ? 0 : (pocentajeDeControl - (porcentajeDelSeparador * (columna.NumeroControlesVisibles - 1))) / columna.NumeroControlesVisibles; var anadirSeparador = false; if (columna.ColSpan > 1) { var ajuste = anchoEtiqueta / columna.ColSpan; anchoEtiqueta = anchoEtiqueta - ajuste; anchoControl = anchoControl + ajuste; } double anchoTotal = 0; for (short z = 0; z <= columna.PosicionMaxima; z++) { var descriptorControl = columna.ObtenerControlEnLaPosicion(z); if (descriptorControl == null || !descriptorControl.atributos.EsVisible(tabla.ModoDeTrabajo)) { continue; } if (anadirSeparador) { htmlControles = htmlControles + $"<div id=¨{tabla.IdHtml}-{i}-{j}-separador¨ class=¨div-separardor-propiedad¨ style=¨width:2%¨></div>"; anchoTotal += 2; } if (!descriptorControl.atributos.Etiqueta.IsNullOrEmpty()) { htmlControles = htmlControles + RenderEtiquetaDelDto(tabla, descriptorControl, i, j, anchoEtiqueta); anchoTotal = anchoTotal + anchoEtiqueta; } else { anchoControl = 100; } if (z == columna.PosicionMaxima) { anchoControl = 100 - anchoTotal; } htmlControles = htmlControles + RenderDescriptorControlDto(tabla, descriptorControl, anchoControl); anchoTotal = anchoTotal + anchoControl; anadirSeparador = true; } return(htmlControles); }
private static string RenderColumnaParaElDto(DescriptorDeTabla tabla, short i, short j, double anchoColumna) { var visible = tabla.ObtenerFila(i).ObtenerColumna(j).NumeroControlesVisibles > 0; var td = $@"<td id=¨{tabla.IdHtml}_{i}_{j}¨ name=¨td-propiedad¨ class=¨td-propiedad¨ colspan=¨{tabla.ObtenerFila(i).ObtenerColumna(j).ColSpan}¨ style=¨width:{anchoColumna}%; {(visible ? "" : "display:none")}¨> <div id=¨{tabla.IdHtml}_{i}_{j}_celda¨ name=¨div-propiedad¨ class=¨div-propiedad¨> {RenderControlesParaMapearElDto(tabla, i, j)} </div> </td> "; return(td); }
public static string RenderFilaParaElDto(DescriptorDeTabla tabla, short i) { var fila = tabla.ObtenerFila(i); var htmlColumnas = ""; var htmlFila = $@"<tr id=¨{fila.IdHtml}¨ name=¨tr_lbl_propiedad¨ class=¨tr-propiedad¨> htmlColumnas </tr> "; double anchoColumna = tabla.NumeroDeColumnas == 0 ? 0 : (double)(100 / tabla.NumeroDeColumnas); for (short j = 0; j < tabla.NumeroDeColumnas; j++) { htmlColumnas = htmlColumnas + RenderColumnaParaElDto(tabla, i, j, anchoColumna); } return(htmlFila.Replace("htmlColumnas", $"{htmlColumnas}")); }