Несколько столбцов в элементе управления списка - PullRequest
5 голосов
/ 15 апреля 2010

как я могу отобразить два столбца в списке?

Ответы [ 9 ]

5 голосов
/ 15 апреля 2010

Список не предназначен для отображения данных из нескольких столбцов. Даже версия Windows Forms не поддерживает отображение данных такого типа напрямую.

Ваши требования не ясны, но самый простой способ - использовать элемент управления GridView . Это дает вам много функциональности из коробки, и вы можете легко расширить ее до нескольких столбцов. Если вам нужен больший контроль над внешним видом или функциональностью, вы можете использовать DataList .

Чтобы получить возможность прокрутки, вы можете использовать прокрутку <div> или просто использовать механизм разбивки на страницы GridView, если это необходимо.

3 голосов
/ 15 апреля 2010

Вы можете выстроить это так, как если бы данные были в 2 столбцах

new ListItem("blah1".PadRight(10, ' ') + "blah2");

как показано здесь: http://articles.dotheweb.net/post/Formatting-columns-in-a-ListBox-of-ComboBox.aspx

Кроме того, вы можете свернуть свой собственный с помощью DataList.

1 голос
/ 15 апреля 2010

Похоже, вы должны написать свой собственный элемент управления, или вы можете использовать элемент управления listview.

0 голосов
/ 04 января 2019

Если вы хотите использовать столбцы в ListBox, вы должны сделать это на основе выравнивания.

Например:

String columns = "{0, -55}{1, -35}{2, -35}";
ListBox1.Items.Add(String.Format(columns, "Filename", "Selected DateModified", "Vault DateModified"));
ListBox1.Items.Add(String.Format(columns, fileName, datetime1, datetime2));  

Вывод моей собственной реализации этого кода ниже:

enter image description here

Имейте в виду, что используемый вами шрифт должен быть моноширинным шрифтом, иначе выравнивание будет нарушено из-за переменного расстояния между символами (и это преувеличивает, чем длиннее строка).

0 голосов
/ 30 августа 2013

Несколько элементов рядом возможно, если вы ссылаетесь на инструментарий и добавляете wrapPanelOrientation;) список будет выглядеть как

1stItem      2ndItem

3rdItem      4thItem .. ect..

ListBox.ItemsPanel>

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

/ItemsPanelTemplate>

/ListBox.ItemsPanel>

/ListBox>
0 голосов
/ 15 мая 2012

Использование списка просмотра это идеальная альтернатива для списка из нескольких столбцов

0 голосов
/ 15 марта 2012

Если я правильно понял, вы хотите, чтобы столбец данных отображался горизонтально. Это может быть достигнуто с помощью DataList и для RepeatDirection установлено значение «Горизонтальный» с указанными повторяющимися столбцами. Например:

<asp:DataList ID="DataList1" runat="server" RepeatDirection="Horizontal" RepeatColumns="5" CellSpacing="10" >
0 голосов
/ 15 апреля 2010

Как уже прокомментировал Ник Крейвер, ListView, вероятно, не является правильным элементом управления для информации из нескольких столбцов.

Вместо того, чтобы взламывать ваш список, чтобы он выглядел так, как будто он состоит из двух столбцов, лучше использовать DataGridView . Это будет проще в настройке, форматировании, и ваши данные будут храниться гораздо более гибким способом.

DataGridViews также поддерживают назначение списков объектов в качестве источников данных , если это облегчает задачу.

0 голосов
/ 15 апреля 2010
...