Como Exibir Rich Text de uma tabela do BD no ASP NET, com a devida formatação?
04/12/2012
0
Estou precisando desenvolver uma página Web em ASP .NET que leia o conteúdo de um campo de uma tabela de banco Oracle, que está armazenado como Rich Text (RTF).
O problema é que não consigo mostrar o conteúdo do campo com as devidas formatações de fontes, no ASP NET. Só consigo mostrar o conteúdo do campo, mas com todas as tags do RTF.
No C# com o RichTextBox vai normal.
Já pesquisei na Web e ainda não achei uma solução para isto, somente para converter arquivos. Já testei o FreeTextBox, mas não funciona, mostrando também todo o conteúdo com as Tags.
Alguém consegue me ajudar?
Agradeço antecipadamente!
Gustavo Diehl
Posts
07/12/2012
André Moes
Estou precisando desenvolver uma página Web em ASP .NET que leia o conteúdo de um campo de uma tabela de banco Oracle, que está armazenado como Rich Text (RTF).
O problema é que não consigo mostrar o conteúdo do campo com as devidas formatações de fontes, no ASP NET. Só consigo mostrar o conteúdo do campo, mas com todas as tags do RTF.
No C# com o RichTextBox vai normal.
Já pesquisei na Web e ainda não achei uma solução para isto, somente para converter arquivos. Já testei o FreeTextBox, mas não funciona, mostrando também todo o conteúdo com as Tags.
Alguém consegue me ajudar?
Agradeço antecipadamente!
Olá Gustavo,
me desculpe mas não entendi o que vc deseja.
Aonde vc quer jogar esse conteúdo na página?
Em uma GridView, DataGrid?
Teria como postar o código para visualiza-lo e ter uma ideia melhor?
Abraço
07/12/2012
Robson Alves
[url]http://ckeditor.com/demo[/url]
Eu já usei o TinyMCE mas ele converte HTML, se você for capaz de converter as tags do RTF para HTML puro, ele é uma ótima opção.
07/12/2012
Robson Alves
[url]http://www.tinymce.com/[/url]
07/12/2012
Gustavo Diehl
Robson, agradeço o retorno, porém não tenho (ou não sei) como transformar em HTML.
O texto é bem complexo e tem fontes muito diferentes do normal, com grafias de engenharia.
Valeu mesmo.
07/12/2012
Gustavo Diehl
Boa tarde.
Agradeço o interesse na ajuda. Na verdade o código é muito simples.
Eu gostaria de preencher uma Gridview e ao selecionar a linha em questão o contéudo do campo que armazena o texto RTF seria exibido na devida formatação.
No C#, onde está funcionando perfeito, eu fiz assim:
private void dgRI_CellEnter(object sender, DataGridViewCellEventArgs e)
{
rtfEspecificado.Rtf = dgRI.Rows[e.RowIndex].Cells[18].Value.ToString();
}
O problema é que não consigo um componente assim para o ASP. NET. O texto RTF fica armazenado em um campo Varchar2 de uma tabela Oracle, e é inserido pelo sistema ERP.
Olha o exemplo de um campo preenchido:
{\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset0 GDT;}{\f1\fnil\fcharset0 MS Serif;}{\f2\fnil MS Sans Serif;}}
\viewkind4\uc1\pard\lang1046\f0\fs18 |d|\f1\fs16 0,4\f0\fs18 |\f1\fs16 A\f0\fs18 |\f1\fs16 F\f0\fs18 |\f2\fs16
\par }
Pra C#, VB e Delphi é facil, mas pra ASP. NET tá difícil achar uma solução...
Será que tem alguma outra maneira?
07/12/2012
Robson Alves
pelo que li, ele é o mais indicado... só não sei quanto a ser Free.
07/12/2012
Gustavo Diehl
Mas baixei ele e vou testar. Na segunda eu aviso se deu certo.
Vlw
10/12/2012
André Moes
Boa tarde.
Agradeço o interesse na ajuda. Na verdade o código é muito simples.
Eu gostaria de preencher uma Gridview e ao selecionar a linha em questão o contéudo do campo que armazena o texto RTF seria exibido na devida formatação.
No C#, onde está funcionando perfeito, eu fiz assim:
private void dgRI_CellEnter(object sender, DataGridViewCellEventArgs e)
{
rtfEspecificado.Rtf = dgRI.Rows[e.RowIndex].Cells[18].Value.ToString();
}
O problema é que não consigo um componente assim para o ASP. NET. O texto RTF fica armazenado em um campo Varchar2 de uma tabela Oracle, e é inserido pelo sistema ERP.
Olha o exemplo de um campo preenchido:
{\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset0 GDT;}{\f1\fnil\fcharset0 MS Serif;}{\f2\fnil MS Sans Serif;}}
\viewkind4\uc1\pard\lang1046\f0\fs18 |d|\f1\fs16 0,4\f0\fs18 |\f1\fs16 A\f0\fs18 |\f1\fs16 F\f0\fs18 |\f2\fs16
\par }
Pra C#, VB e Delphi é facil, mas pra ASP. NET tá difícil achar uma solução...
Será que tem alguma outra maneira?
Agora consegui compreender melhor!
Você fez no código C# com uma datagrid, correto?
Desta DataGrid, selecionando uma linha você consegue pegar o conteúdo RTF,
mas aonde exatamente é jogado esse conteúdo, fizesse em Windows Forms isso?
E o que seria isso: rtfEspecificado.Rtf ?
10/12/2012
Gustavo Diehl
Sim, é uma DataGridView.
o rtfEspecificado é o nome que dei para o componente RichTextBox que utilizei e .rtf é a função deste componente que carrega o texto na formatação RTF e converte ele, mostrando em tela somente o resultado.
No caso o tipo de texto é aquele exemplo que dei.
Eu fiz em C#, mas preciso que seja em ASP .NET.
Abs
10/12/2012
Gustavo Diehl
Boa tarde.
Testei o CKEditor, mas também não deu certo.
Ele serve pra montar um editor na página, mas não para traduzir o texto em RTF. Nem tem função para isto.
Mesmo assim, agradeço a ajuda.
Vlw
15/08/2013
Rodney Oliveira
Você conseguiu resolver essa questão? Como fez?
15/08/2013
Gustavo Diehl
Infelizmente não consegui cara.
Não há componente disponível até onde pesquisei que suporte fontes diferenciadas para um mesmo campo no Asp. Net.
Os richedit´s disponíveis só trabalham com 6 ou 8 fontes, das normais como Arial, Times, etc.
Tive que mudar meu projeto e implementar em C# em uma aplicação Windows.
Vlw
Clique aqui para fazer login e interagir na Comunidade :)