2016-07-13 5 views
0

Wir haben ein C# -Projekt, das einen Dienst in eine Windows-Anwendung eines Drittanbieters hinzufügt (Desktop, nicht webbezogen). Daten werden über XML zurückgegeben, das Notizen für eine bestimmte Reihenfolge enthält, und ich wurde gefragt, ob wir das gerenderte HTML im Raster anzeigen können, wenn jede Notiz angezeigt wird (dh ein starkes Tag um den Text herum zeigt den Text als fett an) die Notiz).C# - HTML in einem DataGridView rendern

Als neu zu C# (ich arbeite hauptsächlich in PHP) habe ich Probleme dabei. Ich habe SO ohne Code durchforstet, der noch funktioniert.

// used to initialize the update form 
this.notesList = new System.Windows.Forms.DataGridView(); 

// later in the code 
((System.ComponentModel.ISupportInitialize)(this.notesList)).BeginInit(); 

// still later 
this.notesList.AllowUserToAddRows = false; 
this.notesList.AllowUserToDeleteRows = false; 
this.notesList.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; 
this.notesList.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { 
this.noteUser, 
this.noteDate, 
this.noteNote}); 
this.notesList.Location = new System.Drawing.Point(10, 21); 
this.notesList.Name = "notesList"; 
this.notesList.ReadOnly = true; 
this.notesList.RowHeadersVisible = false; 
this.notesList.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; 
this.notesList.ShowEditingIcon = false; 
this.notesList.Size = new System.Drawing.Size(1163, 293); 
this.notesList.TabIndex = 3; 

// later we display our notes in a gridview 
notesList.Rows.Clear(); 
foreach (XElement xe in getStatusResponse.Descendants("Note")) { 
    string noteText = HttpUtility.HtmlDecode(xe.Element("Message").Value); 
    notesList.Rows.Add(xe.Element("User").Value, xe.Element("NoteDate").Value, noteText); 
} 

Alles, was ich versuche, zeigt noch die Zeichenfolge als <stark> Text hier </strong > statt Text hier. Hauptsächlich muss ich starke Tags und Break-Tags zulassen, aber auch andere kommen durch.

Jede Hilfe wäre willkommen.

+0

Gäbe es einen besseren Weg, diese Hinweise als Datagridview mit zeigen? Wir möchten, dass es im Grunde wie eine Tabelle mit Benutzernamen, Datum und Notiz in einer Rasteransicht aussieht. –

Antwort

0

Dieser Beitrag ist für eine ASP-Version, aber hat eine Antwort von einem Autor, der eine Reihe von Code für WinForms veröffentlicht.

How Can we Render Html text in DataGridView?

+0

[CodeProject über die Winforms-Lösungen] (http://www.codeproject.com/Articles/997197/DataGridViewHTMLLCell-Displaying-HTML-markup-in-a-) gefunden von der angegebenen Verbindung –

+0

Es scheint, dass dies Hinzufügen von zusätzlichen DLLs erfordert Projekt, das ich bei diesem Projekt nicht für möglich halte (wir kompilieren eine DLL, um sie in ein anderes Programm als Erweiterung dieses Programms aufzunehmen). –