Anzeigen einer Liste der Objekt mit einer Liste in einer raster-Ansicht
Derzeit arbeite ich an ein Lesezeichen-manager-Anwendung (Windows Forms) mit erweiterten such-Funktionen.
Habe ich eine Links
Klasse, und jedes mal, wenn ein Benutzer einen URL, werde ich einen Link-Objekt und speichern Sie die details dort. Es hat derzeit die Eigenschaften Name
, URL
und Tags
, wo Tags
ist eine Liste.
Zur Laufzeit wenn ich die DataSource
- Eigenschaft des gridview an die List<Links>
Objekte, die Name
und die URL
zeigen sich aber die tags nicht.
Wie gehe ich über die Anzeige der Liste der tags innerhalb der List<Links>
Objekt in der gridview?
EDIT: hatte eine Idee. Was ist, wenn ich Schreibe, eine Funktion zum konvertieren der List<Links>
in eine DataTable
, und legen Sie dann die DataSource
Eigenschaft des DataGrid
zu den DataTable
?
Das problem dabei ist, dass jedes mal wenn eine änderung vorgenommen wird, um die List<Links>
ich generieren die DataTable
wieder, die scheint nicht ideal aus performance-Sicht.
EDIT 2: ich möchte Anzeige jedes Element in der Liste als DataGridViewTextBox Spalte.
Dank,
Abijeet.
- Sie haben <ItemTemplate - > im GridView-passend zu den Links, Klasse Eigenschaften? Wenn nicht, setzen Sie AutoGenerateColumns=true für das gridview, und die Spalten generiert werden sollen. veröffentlichen Sie Ihre HTML-und code-behind für die Bindung. Schau mal hier: forums.asp.net/t/1109165.aspx/1
- Ich bin, sorry, ich vergaß zu erwähnen, dies ist eine WinForm-Anwendung.
- in diesem Fall müssen Sie zum erstellen einer DataGridViewComboBoxColumn, und ordnen Sie die Liste der tags, die als Datenquelle. Dann in der Dritten Spalte erscheinen soll, mit einer combobox statt. Schau mal hier: arsalantamiz.blogspot.co.uk/2008/09/...
- Vielen Dank, der link wird hilfreich sein, in der Zukunft, aber in diesem Fall möchte ich die Anzeige jedes Element in der Liste als
DataGridViewTextBox
Spalte. - wenn Sie code haben, über die, wie um ein Lesezeichen zu erstellen. kann u senden Sie mir eine komplette Codierung Teil, ich habe keine Ahnung, wie man ein Lesezeichen erstellen. Vielen Dank Im Voraus...meine E-Mail-id ist [email protected]
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vielleicht ist dies, was Sie wollen... ein Objekt, das scheint zu haben mehr Eigenschaften, die es tatsächlich hat.
Den
DataGridView
controll unterstützt dieComponentModel
- namespace, so dass Sie können Klassen erstellen, die scheinen, haben Eigenschaften, die nicht existieren. Es ist derselbe Mechanismus, den derPropertyGrid
verwendet.Beispielcode
Diesem Beispiel ist eine voll funktionsfähige windows-forms-Klasse, mit der ein Formular mit einem
DataGridView
. Ich fügen Sie einige Objekte ist, mit einer Liste, die wird dann auf denDataSource
Eigenschaft.Die Objekte in dieser Liste, haben keine Eigenschaften bei allen... aber Sie verwenden-Komponenten-Modell, um zu beschreiben, "virtuelle" Eigenschaften der
DataGridView
.Wenn Sie in der WPF, wie ich denke, dass Sie es tun, warum nicht verwenden Sie das DataGridView-Zeile Detail-Template? Sie können auch einen zweiten raster, wie die Zeile detail-Vorlage, die Sie binden mit der Liste "tags".