我有一個像這樣的列表視圖,並且在FormLoad事件中,我應該對它進行一些初始化,比如:(我需要這些)。按字母順序排列ListView上的項目
listView.Scrollable = true;
listView.HideSelection = false;
listView.FullRowSelect = true;
listView.View = View.Details;
listView.HeaderStyle = ColumnHeaderStyle.None;
ColumnHeader header = new ColumnHeader();
header.Text = "MyHdr";
header.Name = "MyCol";
header.Width = listView.ClientSize.Width;
listView.Columns.Add(header);
,我將項目添加到它的方式是這樣的很簡單:
listView.Items.Add("hello");
listView.Items.Add("How are you");
//... etc
但我希望他們能夠加入並按照字母順序排列,但是當我添加一個新的項目,並調用排序方法,它不會做任何事情。 爲什麼? :(
編輯:這是整個部分,在其最後一行我打電話排序() 的目標是有兩個列表視圖,和移動按鈕,當移動按鈕被點擊從選定項目一個ListView控件應無法移動到其他列表視圖。 (無論列表視圖不需要進行排序。就在AvailLV列表視圖應該排序)
private void MoveBtn_Click(object sender, EventArgs e)
{
ListView source=null;
ListView target= null;
if(AvailableLV.SelectedItems.Count>0)
{
source = AvailableLV;
target = SelectedLV;
}
if(SelectedLV.SelectedItems.Count>0)
{
source = SelectedLV;
target = AvailableLV;
}
if (source != null && target != null)
{
HaulItems(source, target);
}
}
private void HaulItems(ListView source , ListView target)
{
foreach(ListViewItem item in source.Items)
{
if(item.Selected)
{
source.Items.Remove(item);
target.Items.Add(item);
}
}
AvailableLV.Sort();
}
請告訴我們,你調用排序的代碼。 –
@TimS。 :我添加了代碼。謝謝 – Bohn