我有一個ListView
,我試圖對它們進行排序,其中用紅色的BackColor
項目將是第一個,然後排序與紅色的ForeColor
,最後項目的休息,但所有的項目他們應該在他們的組內按名稱排序。的IComparer通過不同的指標分析
我寫了這個代碼,但我仍然得到同樣的物品的大塊分離遍:
public int Compare (object x, object y)
{
int CompareResult;
ListViewItem a = (ListViewItem) x;
ListViewItem b = (ListViewItem) y;
if (a.BackColor == Color.FromArgb (200, 0, 0))
{
if (b.BackColor == Color.FromArgb(200, 0, 0))
{
return a.Text.CompareTo(b.Text);
}
else
{
return -1;
}
}
else
{
if (a.ForeColor == Color.FromArgb(200, 0, 0))
{
if (b.ForeColor == Color.FromArgb(200, 0, 0))
{
return a.Text.CompareTo(b.Text);
}
else
{
return -1;
}
}
else
{
return 1;
}
}
}
謝謝是的,似乎很難列出所有的可能性。希望有另一種方法可以自己指定項目的排序優先級,而不是成對排序。 – 2012-07-12 17:48:40