ERLEDIGT
NEIN
NEIN
ANTWORTEN
6
6
ZUGRIFFE
1573
1573
EMPFEHLEN
-
hi,
auf Arbeit programmiere ich gerade eine kleine Webanwendung wo man Text in eine Textdatei speichert und den Inhalt der Datei gleich in nem Gridview sehen kann auf der Seite. Mein Problem ist, dass ich Zeilenumbrüche beim Speichern des Inhaltes der Textbox in die Textdatei durch "#" ersetzen lasse. Anschließend möchte ich die Textdatei auslesen wobei ich aber alle "#" wieder durch Zeilenumbrüche ersetzen möchte, die dann im Gridview wieder angezeigt werden sollen.
was bisher geht:
-> Zeilenumbrüche durch "#" ersetzen
Code :1 2
txtEdit.Text = txtEdit.Text.Replace(Chr(10), "#") txtEdit.Text = txtEdit.Text.Replace(Chr(13), "#")
was er noch nicht erkennt :
-> "#" wieder in Zeilenumbrüche umwandeln
Code :1 2 3 4 5 6 7 8 9
Do Until leser.EndOfStream s = leser.ReadLine() ReDim Preserve liste(i) [COLOR="Red"] liste(i) = s.Replace("#", Chr(10) + Chr(13))[/COLOR] If i Mod 2 = 1 Then dt.Rows.Add(liste(i - 1), liste(i)) End If i = i + 1 Loop
in der schleife speichere ich die einzelnen Zeilen der Textdatei in ein Array und lasse alle 2 Zeilen eine neue Zeile im Gridview erzeugen.
Das was rot markiert ist geht nocht nicht, ich habe auch keine ahnung im moment wie ich das hinkriegen könnte.
Im Anhang findet Ihr die betroffene Zeile, ich habe sie rot eingerahmt.
die Werte sind alles nur zum testen gedacht also net wundern, da sie keinen sinne rgeben
Die Zahlen "1" und "2" sollen untereinander stehen.
Im 2. Anhang seht Ihr wie es in der Textdatei aussieht.
Da steht : 1##2 das soll auch so sein, da ich die Zeilenumbrüche mit einer # "replaced" habe.
Jetz will ich den Schritt in dem Gridview wieder rückgängig machen.
Soviel zu meinem Problem.
Ich hoffe Ihr könnt mir helfen.
tschü David
-
Hi
ASP.NET generiert auf Client-Seite trotzdem Html-Code. Hast du mal probiert anstatt eines CRLF ein <br> einzufügen, also eine Html-Zeilenumbruch?Grüße Nico
----------------------
Xing
----------------------
Zitat von Mark Twain (1835-1910)
Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
-
ja ich habe statt dem chr(10) und chr(13) auch schon versucht mit <br/> das zu gestalten aber ebenfalls erfolglos, da schreibt er mir den html tag als text hin, weiß nicht ob ich dem gridview noch ne eigenschaft verpassen muss damit er mir mein html tag auch richtig umwandelt...
und mit environment.newline hab ich auch schon rumprobiert, aber auch ohne erfolge
-
Hi
Ich hab was gefunden. Du musst für die Spalte die Eigenschaft HtmlEncode auf false setzen.
siehe auch http://74.125.77.132/search?q=cache:...ient=firefox-a
Ist aber aus dem Google-Cache, da auf der aktuellen Seite ein Fehler ist.Grüße Nico
----------------------
Xing
----------------------
Zitat von Mark Twain (1835-1910)
Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
-
alles klar, das klingt doch mal vielversprechend.
werde es morgen auf arbeit gleich mal testen, hoffe es kann mir weiterhelfen.
danke dir schonmal!
-
Hab es grad versucht aber leider erfolglos.
Das Problem wird sein, weil ich mein Gridview mit einer Datatable fülle, die ich dynamisch im codebehind erstelle.
Hier meine Funktion :
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Private Sub loaddata() Dim datnam As String datnam = "D:\test\bericht.txt" Dim leser As New System.IO.StreamReader(datnam) Dim s As String Dim liste() As String = Nothing Dim i As Integer = 0 Dim dt As New DataTable dt.Columns.Add().ReadOnly = True [COLOR="Red"]dt.Columns.Add()[/COLOR] Do Until leser.EndOfStream s = leser.ReadLine() ReDim Preserve liste(i) liste(i) = s.Replace("#", "<br />") If i Mod 2 = 1 Then dt.Rows.Add(liste(i - 1), liste(i)) End If i = i + 1 Loop gdvListe.DataSource = dt gdvListe.DataBind() leser.Close() GesamtEintrag.Value = i End Sub
Das rotgeschrieben ist die betreffende Spalte, in der ich die Zeilenumbrüche benötige. Ich hab schon versucht die Coloums dort irgendwie zu verändern aber da krieg ich dann die Meldung -> "htmlencode" ist kein Member von "System.Data.Data.Colum"
Ich zweifle schon daran ob ich nur ein Denkfehler in meiner Logik verursacht habe, oder ob es wirklich daran liegt, weil ich die Spalten manuell einfüge über meine Funktion.
Ich danke dir für deine Hilfe vielleicht finde ich ja noch eine Lösung, schließlich muss die Anwendung ja fertig werden.
Tschü DavidGeändert von darkentik (27.01.09 um 07:46 Uhr)
-
So folgendes:
Ich habe jetzt in der aspx Seite Boundfields eingefügt und denen jeweils die Eigenschaft "datafield" gegeben. In der VB Datei hab ich dann meinen Coloumns auch jeweils die selbe Bezeichnung verpasst wie den Boundfields.
Hier mein Quellcode:
Code :1 2
[COLOR="Red"] dt.Columns.Add("Info") dt.Columns.Add("Antwort")[/COLOR]
und hier die aspx Seite:
und wie man sieht hab ich dann den Boundfields ganz bequem die Eigenschaft htmlencode="false" geben können, wie es Nico gefunden hatte im Netz.Code :1 2
<asp:BoundField DataField="Info" HtmlEncode="false" HeaderText="Wünsche/Bugs" /> <asp:BoundField DataField="Antwort" HtmlEncode="false" HeaderText="Antworten" />
Jetzt funktioniert auch der Zeilenumbruch, siehe Bild(im Anhang).
Ich danke dir Nico für deine Hilfe!
Bis zum nächsten Problem =)
tschü David
Ähnliche Themen
-
Gridview Spaltenbreite
Von Kropotkin im Forum .NET CaféAntworten: 1Letzter Beitrag: 18.06.10, 21:58 -
GridView und Filterung
Von Razorhawk im Forum .NET Web und KommunikationAntworten: 1Letzter Beitrag: 15.06.10, 11:24 -
GridView
Von fhr im Forum .NET Windows FormsAntworten: 2Letzter Beitrag: 16.05.08, 15:02 -
Xml und Gridview?
Von yellowspam im Forum .NET DatenverwaltungAntworten: 2Letzter Beitrag: 09.10.07, 16:35 -
GridView der Repeater
Von Maximus im Forum .NET Web und KommunikationAntworten: 0Letzter Beitrag: 15.09.06, 08:44





Zitieren

Login





