Vytvoření tabulky v RichTextBox   otázka

VB.NET

Přeji hezký večer,

za nic na světě nedokáži vytvořit tabulku v RichTextBox. Pokoušel jsem se ji vytvořit i natvrdo přidáním textu do RTF v programu, ovšem text se nepřevedl a zobrazil se vskutku ten RTF text.

Takto vypadá tabulka v RTF o 1 řádku a 2 sloupcích:

{\rtf1\ansi\ansicpg1250\deff0\deflang1029\deflangfe1029\deftab708{\fonttbl{\f0\froman\fprq2\fcharset238{\*\fname Times New Roman;}Times New Roman CE;}}

{\*\generator Msftedit 5.41.15.1507;}\viewkind4\uc1\trowd\trgaph70\trleft-108\trbrdrl\brdrs\brdrw10 \trbrdrt\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trpaddl70\trpaddr70\trpaddfl3\trpaddfr3

\clbrdrl\brdrw10\brdrs\clbrdrt\brdrw10\brdrs\clbrdrr\brdrw10\brdrs\clbrdrb\brdrw10\brdrs \cellx6300\clbrdrl\brdrw10\brdrs\clbrdrt\brdrw10\brdrs\clbrdrr\brdrw10\brdrs\clbrdrb\brdrw10\brdrs \cellx9104\pard\intbl\f0\fs24 majitel\cell cislo\cell\row\pard\par

}

Bohužel když dám RTF.text = "to výše", tak se mi to vloží jako text, pokud použiju RTF.RTF = ... tak mi program nehlásí chyby, ovšem nic se neprovede.

Proč to potřebuji? Tahám dat az DB a potřeboval bych si udělat takovýto výpis:

+-------------------+-----------+

+ jmeno + PSC +

+-------------------+-----------+

+-------------------+-----------+

+ jmeno + PSC +

+-------------------+-----------+

+-------------------+-----------+

+ jmeno + PSC +

+-------------------+-----------+

...

Nebo pokud víte o nějakém lepším řešením, jak data vytáhnout z DB, přiřadit jim vzhled a dát možnost exportu do wordu nebo rtf, byl bych zauzlíkován.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Opět nejsem doma, takže nemám šanci to odzkoušet, ale evidentně jsem používal chybnou syntaxi - mělo by teoreticky jet:

this.richTextBox1.Rtf = @"{\rtf1\ansi This is in \b bold\b0.}";

Jen nechápu účel toho zavináče a to nejen tady, ale obecně, proč se ve VB.NET zavináč používá. U PHP to zakazuje výpis chyby, ale zde?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tohle není kód pro Visual Basic .NET, ale pro C#. Na konci je středník, to je základní znak. Zavináč říká, že řetězec obsahuje zpětná lomítka a že se mají brát v úvahu jakozpětná lomítka a ne jako modifikátory pro speciální znaky.

Přepsáno do VB.NET to je toto:

RichTextBox1.Rtf = "{\rtf1\ansi This is in \b bold\b0.}"

Jinak pokud by to bylo možné, doporučil bych spíše generovat tabulky do jiného formátu, například do HTML. Pokud tomuto HTML souboru dáte příponu XLS, můžete jej otevřít v Excelu. Pokud chcete mermomocí tabulky, určitě půjde zvládnout i to RTF, ale nebude to nijak snadné.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback