DataList   otázka

VB.NET

Zdravim, potrebujem radu...skusal som to najst ale mozno som zle hladal :o)

Mam vytvoreny FormView do ktoreho zapisujem rozne udaje a zapisem povedzme 3 riadky /ale nie suvisle- prechod z riadku na riadok je Enterom/. Tieto udaje zapisujem do databazy a nasledne citam do DataList a tu nastava moj problem lebo mi zobrazuje vsetko do jedneho riadku a kde bol povodne enter /cize novy riadok/ je len medzera..co mam zle nastavene ze zobrazenie v DataList nie je ako vo FormView? :o)

Je to z jedneho clanku: Jednoduché diskusní fórum....

- snazim sa ist podla roznych clankov nakolko som zaciatocnik /za co vdaka ze su tu uverejnovane/ a ich obmienanim sa snazim co to poducit :o) Tak zhovievavost..dik :o)

...za radu vopred dik.

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

Já jsem se to nakonec zrasil tak, že při ukládání textu (přes dataset ds)dám nahradit odsazení Entru

ds.Tables(0).Rows(i).Item("text") = CType(Grid1.Rows(e.RowIndex).Cells(2).Controls(1), TextBox).Text.Replace(Chr(13) & Chr(10), "<br>")        

Jeden totiž chápe pouze Chr(13) & Chr(10) a druhý zase jen <br>.

Při znovu načtení je ale potřeba to zase udělat obráceně...

<brrrrrfuj>

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

No zapis bude v poriadku, lebo v databaze to je zapisane dobre tam enter zapise ako enter. Len ked uz chcem nacitat z databaze do DataListu tak uz to rozpoznava iba ako medzeru :(

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

Každopádně bych před načtením do datalistu zkusil použít obrácené nahrazení znaků. To ale znamená naplnit z databáze nejdříve SQLDataAdapter, tím pak Dataset, jeho tabulku, pak dataRow ...prostě pochoutka... Možná bych zkusil taky vyměnit datalist za GridView, které prostě UMÍ zobrazit html.

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

No ja som siel podla jedneho clanku z tejto strany: Jednoduché diskusní fórum...co sa mi pacilo len som tam chcel pozmenit to nacitanie aby rozpoznalo enter.

..ja som sa asp len zacal ucit po veceroch a tak to je este slabota u mna :( asi by sa mi hodil nejaky intenzivnejsi kurz :)

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

To je ale správné chování.

Pokud vypisujete data do stránky (v datalistu či čemkoliv jiném), vytváříte HTML kód, který se následně odesílá prohlížeči.

No a HTML žádný "Enter" nerozlišuje, interpretuje jej jako mezeru (stejně jako když do textu nasázíte třeba deset mezer za sebe, tak HTML prohlížeč to zobrazí jako mezeru jednu).

Pokud tedy trváte na zalamování řádků na Vámi definovaných pozicích, musíte provést konverzi textového "nového řádku" na jeho HTML obdobu, tedy značku <br>.

Kdy to provést záleží na vašem konkrétním případě - pokud data z databáze používáte výhradně pro zobrazování ve stránkách, pak bych asi tuto konverzi (náhradu) v textu provedl již v okamžiku ukládání do databáze, pokud data používáte i jinak (třeba natahujete do texťáku), pak Vám nezbude než danou konverzi provádět až při vypisování do stránky.

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