protected string ObtenerProyectos(string sIdSubnodo, string sIdUsuario)
    {
        string        sResul = "";
        StringBuilder sb     = new StringBuilder();

        try
        {
            SqlDataReader dr = PROYECTOSUBNODO.ObtenerProyectosReasignacionMultiSubnodo(sIdSubnodo, (sIdUsuario == "") ? null : (int?)int.Parse(sIdUsuario));

            sb.Append("<table id='tblDatos' class='texto MAM' style='width:440px;'>");
            sb.Append("<colgroup>");
            sb.Append("    <col style='width:20px;' />");
            sb.Append("    <col style='width:20px;' />");
            sb.Append("    <col style='width:20px;' />");
            sb.Append("    <col style='width:190px;' />");
            sb.Append("    <col style='width:190px;' />");
            sb.Append("</colgroup>");
            sb.Append("<tbody>");

            while (dr.Read())
            {
                sb.Append("<tr idPSN='" + dr["t305_idproyectosubnodo"].ToString() + "' ");
                sb.Append("idProy='" + dr["t301_idproyecto"].ToString() + "' ");
                sb.Append("categoria='" + dr["t301_categoria"].ToString() + "' ");
                sb.Append("cualidad='" + dr["t305_cualidad"].ToString() + "' ");
                sb.Append("estado='" + dr["t301_estado"].ToString() + "' ");
                sb.Append("responsable_origen='" + dr["t314_idusuario_responsable"].ToString() + "' ");
                //sb.Append("onclick='mmse(this);' ondblclick='insertarProyecto(this)' onmousedown='DD(this)' ");
                sb.Append("style='height:20px' >");
                sb.Append("<td></td>");
                sb.Append("<td></td>");
                sb.Append("<td></td>");
                sb.Append("<td style='padding-left:3px;'><nobr class='NBR W180' ondblclick='insertarProyecto(this.parentNode.parentNode)' style='noWrap:true;' title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../../images/info.gif' style='vertical-align:middle' />  Información] body=[<label style='width:70px;'>Proyecto:</label>" + int.Parse(dr["t301_idproyecto"].ToString()).ToString("#,###") + " - " + dr["t301_denominacion"].ToString().Replace((char)34, (char)39) + "<br><label style='width:70px;'>Cliente:</label>" + dr["t302_denominacion"].ToString().Replace((char)34, (char)39) + "] hideselects=[off]\">" + int.Parse(dr["t301_idproyecto"].ToString()).ToString("#,###") + " - " + dr["t301_denominacion"].ToString().Replace((char)34, (char)39) + "</nobr></td>");
                sb.Append("<td><nobr class='NBR W185' ondblclick='insertarProyecto(this.parentNode.parentNode)' style='noWrap:true;' title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../../images/info.gif' style='vertical-align:middle' />  Información] body=[<label style='width:60px;'>Responsable:</label>" + dr["responsable"].ToString().Replace((char)34, (char)39) + "] hideselects=[off]\">" + dr["responsable"].ToString() + "</nobr></td>");
                sb.Append("</tr>");
            }

            dr.Close();
            dr.Dispose();
            sb.Append("</tbody>");
            sb.Append("</table>");

            sResul = "OK@#@" + sb.ToString();;
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al obtener la relación de proyectos.", ex, false);
        }

        return(sResul);
    }