2010-04-15 82 views
5

如何在列表框中顯示兩列?列表框控件中的多列

+0

簡短的回答......你不能,那不是,控制(至少是框架中的那個)是如何設計的,你能解釋還是說明你更多的東西? – 2010-04-15 15:05:19

+0

@ xrx215:如果唯一的意圖是明智地顯示數據列 - 意味着沒有用戶交互 - 那麼您可以添加空格來將數據呈現爲列;只是想...! – 2010-04-15 15:19:47

+0

嗨.. 我需要顯示來自Web服務的名稱和說明列。這些列應該可以在列表框中滾動。 – xrx215 2010-04-15 15:28:00

回答

5

列表框並非設計用於顯示多列數據。即使Windows Forms版本也不直接支持這種數據顯示。

您的要求不明確,但最簡單的方法是使用GridView控件。它爲您提供了許多開箱即用的功能,您可以非常輕鬆地將其擴展到更多列。如果您需要更多控制外觀或功能,則可以使用DataList

要獲得滾動功能,您可以使用滾動<div>或者只需使用GridView的分頁機制(如果合適)。

+0

我m使用div向下滾動並重新裝入數據以減少數據.. 謝謝.. – xrx215 2010-04-16 15:10:51

1

看起來你應該寫自己的控件,或者你可以使用listview控件。

-1
+0

沒有多列列表框 – xrx215 2010-04-15 15:31:30

+0

@ xrx215:如果閱讀本文,您將瞭解到'MultiColumnListBox'是一個* subclassed *控件。 >這是從'System.Windows.Forms.ListBox' *繼承的Owner Drawn ListBox *。其主要功能是將每個項目格式化爲多個列。 這是別人建議的。 – 2010-04-15 15:40:27

+0

問題標記爲asp.net,鏈接不相關。 – meagar 2010-04-15 19:57:25

0

由於Nick Craver已經評論過,ListView可能不是多列信息的正確控制。

與其將黑名單顯示爲好像它有兩列,不如使用DataGridView更好。這將更容易設置,格式化,並且您的數據將以更靈活的方式進行保存。

DataGridViews還支持assigning Lists of objects as datasources,如果這樣做更容易。

0

如果我理解正確,你想要一個數據列顯示水平。這可以通過使用DataList並使用指定的重複列將RepeatDirection設置爲「Hozizontal」來實現。 如:

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

多個項目,如果您引用的工具包,並添加wrapPanelOrientation並排有可能的完美替代品;) 它會列出樣子

1stItem  2ndItem 

3rdItem  4thItem .. ect.. 

ListBox.ItemsPanel> 

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

/ItemsPanelTemplate> 

/ListBox.ItemsPanel> 

/ListBox>