none
VB . NET - Como hago para llenar un Rich Textbox con consulta del BD RRS feed

  • Pregunta

  • Olá a todos.
    Necesito rellenar um Rich Text Box con un procedimiento almacenado.
    El procedimiento ya lo tengo, pero no lo sé como exibir los datos con una línea después de cada registro devuelto.

    1 - Ejemplo del Rich TextBox com datos.



    2 - Function para buqueda en el BD
    Public Function pesquisaHistoricoT(ByVal objCons As CEManHistChamado) As DataTable
            Dim dt As New DataTable
            cn = objCon.conectar
            cn.Open()
            da = New SqlDataAdapter("SP_PESQUISA_HISTORICO", cn)
            da.SelectCommand.CommandType = CommandType.StoredProcedure
    
            With da.SelectCommand.Parameters
                .Add("@ID_CHAMADOAUX", SqlDbType.VarChar).Value = objCons.id_ChamadoAux
            End With
            da.SelectCommand.ExecuteNonQuery()
            Dim retorno As String
            retorno = da.SelectCommand.ExecuteNonQuery().ToString()
            da.Fill(dt)
            Return dt
            dt.Dispose()
            da.Dispose()
            cn.Dispose()
        End Function
    Muchas gracias a quien pueda ayudarme.

    JoseBonfim(desde Brasil)


    • Editado JoseBonfim lunes, 7 de marzo de 2016 14:45
    lunes, 7 de marzo de 2016 14:45

Respuestas

  • Hola JoseBonfim
    Gracias por consultar en los foros.


    Necesito rellenar um Rich Text Box con un procedimiento almacenado.

    El procedimiento ya lo tengo, pero no lo sé como exibir los datos con una línea después de cada registro devuelto.

    Si te refieres a dar algún estilo a la consulta de SQL, bien puedes considerar el uso de HTML para formatear los resultados de tu busqueda. Este es un ejemplo recuperado de la web.

    CREATE PROCEDURE ConvertTableToHtml( @SqlQuery AS NVARCHAR(4000), @Html AS VARCHAR(MAX) OUTPUT ) AS DECLARE @Header AS NVARCHAR(MAX) = '' DECLARE @Column AS NVARCHAR(MAX) = '' DECLARE @Query AS NVARCHAR(MAX) DECLARE @Css AS VARCHAR(MAX) = ' <style type="text/css"> table.gridtable { font-family: verdana,arial,sans-serif; font-size:11px; color:#333333; border-width: 1px; border-color: #666666; border-collapse: collapse; } table.gridtable th { border-width: 1px; padding: 8px; border-style: solid; border-color: #666666; background-color: #dedede; } table.gridtable td { border-width: 1px; padding: 8px; border-style: solid; border-color: #666666; background-color: #ffffff; } </style> ' BEGIN SET @Query = 'SELECT * INTO ##columns FROM ( ' + @SqlQuery + ') Temp' EXECUTE(@Query) SELECT @Column = @Column + 'ISNULL(' + QUOTENAME(name) +' ,'' '')' + ' AS TD, ' FROM tempdb.SYs.columns WHERE object_id = OBJECT_ID('tempdb..##columns') SET @Column = LEFT(@Column,LEN(@Column)-1) SELECT @Header = @Header + '<TH>' + name + '</TH>' FROM tempdb.SYs.columns WHERE object_id = OBJECT_ID('tempdb..##columns') SET @Header = '<TR>' + @Header + '</TR>' SET @Query = 'SET @Html = (SELECT ' + @Column + ' FROM ( ' + @SqlQuery + ') AS TR FOR XML AUTO ,ROOT(''TABLE''), ELEMENTS)' EXECUTE SP_EXECUTESQL @Query,N'@Html VARCHAR(MAX) OUTPUT',@Html OUTPUT SET @Html = @Css + REPLACE(@Html,'<TABLE>' ,'<TABLE class="gridtable">' + @Header) DROP TABLE ##columns END


    Para ejecutar


    DECLARE @Html AS VARCHAR(MAX)

    EXECUTE ConvertTableToHtml ' SELECT TOP(10) * FROM Departments ',@Html OUTPUT

    SELECT @Html

    Y el código resulta

    <style type="text/css">
    
        table.gridtable
    
        {
    
            font-family: verdana,arial,sans-serif;
    
            font-size: 11px;
    
            color: #333333;
    
            border-width: 1px;
    
            border-color: #666666;
    
            border-collapse: collapse;
    
        }
    
        table.gridtable th
    
        {
    
            border-width: 1px;
    
            padding: 8px;
    
            border-style: solid;
    
            border-color: #666666;
    
            background-color: #dedede;
    
        }
    
        table.gridtable td
    
        {
    
            border-width: 1px;
    
            padding: 8px;
    
            border-style: solid;
    
            border-color: #666666;
    
            background-color: #ffffff;
    
        }
    
    </style>
    
    <table class="gridtable">
    
        <tr>
    
            <th>
    
                deptid
    
            </th>
    
            <th>
    
                deptname
    
            </th>
    
            <th>
    
                deptmgrid
    
            </th>
    
        </tr>
    
        <tr>
    
            <td>
    
                1
    
            </td>
    
            <td>
    
                HR
    
            </td>
    
            <td>
    
                2
    
            </td>
    
        </tr>
    
        <tr>
    
            <td>
    
                2
    
            </td>
    
            <td>
    
                Marketing
    
            </td>
    
            <td>
    
                7
    
            </td>
    
        </tr>
    
        <tr>
    
            <td>
    
                3
    
            </td>
    
            <td>
    
                Finance
    
            </td>
    
            <td>
    
                8
    
            </td>
    
        </tr>
    
        <tr>
    
            <td>
    
                4
    
            </td>
    
            <td>
    
                R&amp;D
    
            </td>
    
            <td>
    
                9
    
            </td>
    
        </tr>
    
        <tr>
    
            <td>
    
                5
    
            </td>
    
            <td>
    
                Training
    
            </td>
    
            <td>
    
                4
    
            </td>
    
        </tr>
    
        <tr>
    
            <td>
    
                6
    
            </td>
    
            <td>
    
                Gardening
    
            </td>
    
            <td>
    
                0
    
            </td>
    
        </tr>
    
    </table>
    
    

    Espero sea de utilidad, estoy atento a tus comentarios.

    Saludos

    José De Alva

    _________________________

    Por favor, recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, hace que sea más fácil para los otros visitantes encontrar la solución más tarde. Microsoft ofrece este servicio de forma gratuita, con

     la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft. Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    jueves, 24 de marzo de 2016 17:52
    Moderador