Ejemplo n.º 1
0
    private string ObtenerTabla(int nPSN)
    {
        int    nWidthTabla         = 400;
        int    nColumnasACrear     = 0;
        int    nIndiceColPrimerMes = 13;
        string sComun = "";

        StringBuilder sbA = new StringBuilder(); //body fijo
        StringBuilder sbB = new StringBuilder(); //body móvil

        StringBuilder sbColgroupTitulo = new StringBuilder();
        StringBuilder sbTitulo         = new StringBuilder();

        string  sTablaTituloMovil = "";
        string  sTablaBodyMovil   = "";
        DataRow rowTipoDato3;

        //string sTablaResultado = "";
        try
        {
            sbA.Append("<table id='tblBodyFijo' style='width:400px; text-align:left;'>");
            sbA.Append("<colgroup>");
            sbA.Append("<col style='width:20px;'/>");  //Icono
            sbA.Append("<col style='width:280px;'/>"); //Profesional
            sbA.Append("<col style='width:100px;'/>"); //Concepto
            sbA.Append("</colgroup>");
            //sbA.Append("<tbody>");


            DataSet ds = PROYECTOSUBNODO.Disponibilidad(nPSN);

            bool bTitulos = false;
            int  i        = 0;

            if (ds.Tables[0].Rows.Count != 0)
            {
                rowTipoDato3 = ds.Tables[0].Rows[0];
                foreach (DataRow oFila in ds.Tables[0].Rows)
                {
                    if (oFila["tipodato"].ToString() == "3")
                    {
                        //rowTipoDato3 = oFila;
                        i++;
                        continue;
                    }

                    if (!bTitulos)
                    {
                        sbTitulo.Append("<tr class='TBLINI'>");
                        for (int x = nIndiceColPrimerMes; x < ds.Tables[0].Columns.Count; x++)
                        {
                            if (x < nIndiceColPrimerMes)
                            {
                                continue;
                            }
                            sbColgroupTitulo.Append("<col style='width:60px;' />");
                            sbTitulo.Append("<td align='center'>" + Fechas.AnnomesAFechaDescCorta(int.Parse(ds.Tables[0].Columns[x].ColumnName)) + "</td>");
                            nColumnasACrear++;
                        }
                        sbTitulo.Append("</tr>");
                        bTitulos = true;
                    }


                    sComun  = "<tr id='" + oFila["t314_idusuario"].ToString() + oFila["tipodato"].ToString() + "' ";
                    sComun += " usu=" + oFila["t314_idusuario"].ToString();
                    sComun += " tipo='" + oFila["tipodato"].ToString() + "'";
                    sComun += " caso='" + oFila["caso"].ToString() + "'";
                    sComun += " sexo='" + oFila["sexo"].ToString() + "'";
                    if (oFila["t313_idempresa_nodomes"] == DBNull.Value)
                    {
                        sComun += " empnodo=''";
                    }
                    else
                    {
                        sComun += " empnodo='" + oFila["t313_idempresa_nodomes"].ToString() + "'";
                    }

                    if (oFila["t303_idnodo_usuariomes"] == DBNull.Value)
                    {
                        sComun += " nodousumes=''";
                    }
                    else
                    {
                        sComun += " nodousumes='" + oFila["t303_idnodo_usuariomes"].ToString() + "'";
                    }
                    sComun += " coste=" + oFila["coste"].ToString();
                    sComun += " costerep=" + oFila["costerep"].ToString();
                    sComun += " falta=" + oFila["falta"].ToString();

                    if (oFila["fbaja"] == DBNull.Value)
                    {
                        sComun += " fbaja='000000' ";
                    }
                    else
                    {
                        sComun += " fbaja='" + oFila["fbaja"].ToString() + "' ";
                    }
                    sComun += " style='height: 20px;";
                    if (oFila["tipodato"].ToString() == "1")
                    {
                        sComun += "cursor:pointer;";
                    }
                    sComun += "' ";

                    sbA.Append(sComun);
                    if (oFila["tipodato"].ToString() == "1")
                    {
                        sbA.Append("onclick='setFilaFija(this)'");
                    }

                    sbB.Append(sComun);
                    if (oFila["tipodato"].ToString() == "1")
                    {
                        sbB.Append("onclick='setFilaMovil(this)'");
                    }

                    if (oFila["tipodato"].ToString() == "1")
                    {
                        sbA.Append("><td></td>");
                        sbA.Append("<td align='left' class='tdbr' style='padding-left:3px;'>");
                        sbA.Append("<nobr class='NBR W280' onmouseover='TTip(event)'>" + oFila["Profesional"].ToString() + "</nobr>");
                    }
                    else
                    {
                        sbA.Append("><td></td>");
                        sbA.Append("<td align='left' class='tdbr' style='padding-left:3px;'>");
                    }
                    sbA.Append("</td><td class='tdbl'><nobr class='NBR W90'>" + oFila["descripcion"].ToString() + "</nobr></td>");
                    sbB.Append(">");

                    for (int x = nIndiceColPrimerMes; x < ds.Tables[0].Columns.Count; x++)
                    {
                        if (x < nIndiceColPrimerMes)
                        {
                            continue;
                        }
                        sbB.Append("<td align='right'");
                        if (x == nIndiceColPrimerMes)
                        {
                            sbB.Append(" class='tdbrl'");
                        }

                        if (oFila["tipodato"].ToString() == "4")
                        {
                            sbB.Append(" jl='" + decimal.Parse(ds.Tables[0].Rows[i - 1].ItemArray[x].ToString()).ToString("#,##0") + "' ");
                        }

                        sbB.Append(">");

                        sbB.Append(decimal.Parse(oFila.ItemArray[x].ToString()).ToString("N"));

                        sbB.Append("</td>");
                    }
                    sbA.Append("</tr>");
                    sbB.Append("</tr>");
                    i++;
                }
            }
            sbA.Append("</table>");
            ds.Dispose();

            nWidthTabla        = nColumnasACrear * 60;
            sTablaTituloMovil  = "<table id='tblTituloMovil' class='texto' style='width:" + nWidthTabla.ToString() + "px;' cellpadding='0'>";
            sTablaTituloMovil += "<colgroup>";
            sTablaTituloMovil += sbColgroupTitulo.ToString();
            sTablaTituloMovil += "</colgroup>";
            sTablaTituloMovil += sbTitulo.ToString();
            sTablaTituloMovil += "</table>";

            sTablaBodyMovil  = "<table id='tblBodyMovil' class='texto' style='width:" + nWidthTabla.ToString() + "px; ' mantenimiento='1' cellpadding='0'>";
            sTablaBodyMovil += "<colgroup>";
            sTablaBodyMovil += sbColgroupTitulo.ToString();
            sTablaBodyMovil += "</colgroup>";
            sTablaBodyMovil += sbB.ToString();
            sTablaBodyMovil += "</table>";

            return("OK@#@" + sTablaTituloMovil + "@#@" + sTablaBodyMovil + "@#@" + sbA.ToString());
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener los proyectos técnicos", ex));
        }
    }