0

我有一个注册学生分数的小程序。标记以richtextbox1这种格式添加到 a

ID         name         sname         DOB         average

当填充文本框一时,我想按最高平均成绩对这些数据进行排序并将其显示在richtextbox2

我知道要将数据从一个控件传递到另一个控件,我可以执行以下操作

richtextbox2.text = rixhtextbox1.text

但是我发现很难对数据进行排序我应该使用什么方法?

4

2 回答 2

1

如果您对填充richtextbox1 的对象进行排序,而不是尝试拆分和解析richtextbox1 的文本,那会更好。

假设你有一个学生名单

List<Student> studentList = new List<Student>();

该列表可以使用类似于以下内容进行排序:

StringBuilder sb = new StringBuilder();
studentList.OrderByDescending(x=>x.Average)
    .ToList()
    .ForEach(x=> sb.Append(String.Format("{0} {1} {2} {3} {4}" + Environment.NewLine,x.Id,x.Name,x.Sname,x.DOB,x.Average)));

richTextBox2.Text = sb.ToString();
于 2013-03-20T18:16:38.617 回答
0

我会将这些数据放在更好的控件中,例如列表视图或数据网格视图。您可以通过隐藏列标题、更改行边框颜色(或完全隐藏它们)以及更改选择模式来使其看起来像一个文本框。这样,您可以使用以下方式使用内置排序:

colAverage.SortMode = DataGridViewColumnSortMode.Descending;

或者,如果您不喜欢使用富文本框,您将需要从该文本框中获取数据,将其放入可排序的集合(数组、列表、字典)中,对其进行排序,然后使用填充第二个文本框。

于 2013-03-20T18:47:03.967 回答