2010-04-15 6 views
5

Wie kann ich zwei Spalten in einem Listenfeld anzeigen?Mehrere Spalten im Listenfeld Steuerelement

+0

Kurze Antwort ... Sie können nicht, das ist nicht, wie die Steuerung (zumindest die, die im Rahmen) konzipiert ist, können Sie erklären, oder ein bisschen mehr zeigen, was Sie nach? –

+0

@ xrx215: Wenn nur die Datenspalte angezeigt werden soll - dh keine Benutzerinteraktion -, können Sie Leerzeichen hinzufügen, um Daten als Spalten zu rendern. nur nachdenken ...! –

+0

Hallo .. Ich muss Name und Beschreibung Spalten von einem Web-Service angezeigt werden. Diese Spalten sollten in der Listbox scrollbar sein. – xrx215

Antwort

5

Ein Listenfeld wurde nicht zum Anzeigen von mehrspaltigen Daten entwickelt. Auch die Windows Forms-Version unterstützt diese Art der Datenanzeige nicht direkt.

Ihre Anforderungen sind nicht klar, aber der einfachste Weg zu gehen wäre, eine GridView Kontrolle zu verwenden. Es bietet Ihnen eine Vielzahl von Funktionen und Sie können es sehr einfach auf mehrere Spalten erweitern. Wenn Sie mehr Kontrolle über das Aussehen oder die Funktionalität benötigen, können Sie stattdessen DataList verwenden.

Um die Scrolling-Fähigkeit zu erhalten, können Sie entweder einen Bildlauf <div> verwenden oder einfach den Paginierungsmechanismus der GridView verwenden, wenn dies angebracht ist.

+0

Ich benutze div, um nach unten zu scrollen und zu repetitieren, um die Daten zu dispay .. thanks .. – xrx215

1

Sieht so aus, als sollten Sie Ihr eigenes Steuerelement schreiben, oder Sie können das Steuerelement listview verwenden.

-1
+0

gibt es keine solche Kontrolle als mulicolumn Listbox – xrx215

+0

@ xrx215: Wenn Sie durch den Artikel gehen, würden Sie erfahren, dass 'MultiColumnListBox' ein * subclassed * Steuerelement ist. > Dies ist eine Owner Drawn ListBox *, geerbt von 'System.Windows.Forms.ListBox' *.Seine Hauptfunktion besteht darin, jedes Element in mehrere Spalten zu formatieren. Was andere vorgeschlagen haben. –

+0

Frage ist asp.net getaggt, Link ist nicht relevant. – meagar

0

Wie Nick Craver bereits kommentiert hat, ist das ListView wahrscheinlich nicht das richtige Steuerelement für mehrspaltige Informationen.

Anstatt Ihre Liste so zu hacken, als ob sie zwei Spalten hätte, könnte es eine bessere Idee sein, eine DataGridView zu verwenden. Es wird einfacher einzurichten, zu formatieren und Ihre Daten werden viel flexibler gehalten.

DataGridViews unterstützt auch assigning Lists of objects as datasources, wenn das die Dinge einfacher macht.

0

Wenn ich richtig verstanden habe, möchten Sie, dass eine Datenspalte horizontal angezeigt wird. Dies kann erreicht werden, indem eine DataList verwendet wird und RepeatDirection auf "Hozizontal" mit den angegebenen Wiederholungsspalten eingestellt ist. ZB:

<asp:DataList ID="DataList1" runat="server" RepeatDirection="Horizontal" RepeatColumns="5" CellSpacing="10" > 
0

Verwendung der Listenansicht ist es perfekte Alternative für mehrspaltigen Listenfeld

0

Mehrere Elemente nebeneinander möglich sind, wenn Sie das Toolkit und fügen Sie die wrapPanelOrientation verweisen;) es aussehen auflistet wie

1stItem  2ndItem 

3rdItem  4thItem .. ect.. 

ListBox.ItemsPanel> 

ItemsPanelTemplate> 
    toolkit:WrapPanelOrientation="Horizontal"FlowDirection="LeftToRight"ItemWidth="220"ItemHeight="60"/> 

/ItemsPanelTemplate> 

/ListBox.ItemsPanel> 

/ListBox> 
Verwandte Themen