C# 根据列自动排序整个ListView#

C# 根据列自动排序整个ListView#,c#,listview,C#,Listview,我在网上尝试了几种技术,但我真的找不到任何方法可以根据一个列自动对整个ListView进行排序 基本上,我希望在不按任何按钮的情况下对listview进行排序,只要打开表单,它就会自动排序 以下是我的listview的外观: 团队名称、胜利和失败列,它们来自我写入列表视图的文件。但是%是赢/玩的游戏总数的结果 lvwTeams.View = View.Details; lvwTeams.GridLines = true; lvwTeams.FullRowSelect = true; lvwT

我在网上尝试了几种技术,但我真的找不到任何方法可以根据一个列自动对整个ListView进行排序

基本上,我希望在不按任何按钮的情况下对listview进行排序,只要打开表单,它就会自动排序

以下是我的listview的外观:

团队名称、胜利和失败
列,它们来自我写入列表视图的文件。但是
%
赢/玩的游戏总数的结果

lvwTeams.View = View.Details;
lvwTeams.GridLines = true;
lvwTeams.FullRowSelect = true;

lvwTeams.Columns.Add("%", 60);
lvwTeams.Columns.Add("Team Name", 300);
lvwTeams.Columns.Add("Wins", 80);
lvwTeams.Columns.Add("Losses", 80);

List<string> teamLines = File.ReadAllLines(C:\\Data).ToList();

string[] arr = new string[6];
ListViewItem itm;

foreach (var line in teamLines)
{
    string[] entries = line.Split(',');

    int sum = int.Parse(entries[4]) + int.Parse(entries[5]);
    double percentage = double.Parse(entries[4]) / sum;

    arr[0] = percentage.ToString();
    arr[1] = entries[1];
    arr[2] = entries[4];
    arr[3] = entries[5];
    itm = new ListViewItem(arr);
    lvwTeams.Items.Add(itm);
}
lvwTeams.View=View.Details;
lvwTeams.GridLines=true;
lvwTeams.FullRowSelect=true;
lvwTeams.Columns.Add(“%”,60);
lvwTeams.Columns.Add(“团队名称”,300);
lvwTeams.Columns.Add(“Wins”,80);
lvwTeams.Columns.添加(“损失”,80);
List teamLines=File.ReadAllLines(C:\\Data.ToList();
字符串[]arr=新字符串[6];
列表视图项itm;
foreach(团队线中的var线)
{
string[]entries=line.Split(',');
int sum=int.Parse(条目[4])+int.Parse(条目[5]);
double percentage=double.Parse(条目[4])/sum;
arr[0]=百分比.ToString();
arr[1]=条目[1];
arr[2]=条目[4];
arr[3]=条目[5];
itm=新的ListViewItem(arr);
lvwTeams.Items.Add(itm);
}

我对windows窗体文件处理非常陌生,请帮助

能否复制并粘贴您为解决问题而编写的C#代码片段?有关灵活的ListView排序,请参阅。您需要知道要按哪个列排序,可能是数据类型,当然还需要有数据当然,您可以在添加项目之前对数据进行排序。我不能在写入文件之前对数据进行排序,因为我们的教授严格不允许这样做。我还使用了.csv文件。我将创建一个名为
TeamStats
的类,并具有相关属性。我将创建一个
列表
,并用.csv文件中的值填充它。然后我会对列表进行排序,最后将值添加到
列表视图中。