Tôi có biểu mẫu Windows với datagridview
.Thực hiện tất cả các cột datagridview có thể sắp xếp
Tình hình lý tưởng:
Người dùng nhấp vào bất kỳ chín cột, và chương trình sắp xếp tất cả các dữ liệu, nếu cột nhấp chứa số, tôi xin số thấp nhất trên đỉnh. Nếu cột được nhấp có chứa một chuỗi, tôi muốn nó được sắp xếp theo thứ tự bảng chữ cái (A-Z).
Những gì tôi có ngay bây giờ:
tôi thấy một câu hỏi cũ trên Stack Overflow nơi OP làm thế nào để sắp xếp các datagridview khi nhấp "a" tiêu đề. Sự khác biệt với tôi là tôi muốn datagridview của tôi có thể được sắp xếp bởi bất kỳ trong số chín cột.
tôi có mã này, bị đánh cắp từ các câu hỏi tôi thấy:
dataGridView2.DataSource = listPlayers.Select(s => new { voornaam = s.Voornaam,
Achternaam = s.Achternaam,
positie = s.Positie,
Nationaltieit = s.Nationaliteit,
Leeftijd = s.Age,
Aanval = s.Aanval,
Verdediging = s.Verdediging,
Gemiddeld = s.Gemiddeld,
waarde = s.TransferWaarde })
.OrderBy(s => s.Achternaam)
.ToList();
foreach(DataGridViewColumn column in dataGridView2.Columns)
{
dataGridView2.Columns[column.Name].SortMode =
DataGridViewColumnSortMode.Automatic;
}
này chỉ cho phép trình tự người dùng bằng cách "Achternaam" khi nhấp chuột một trong chín cột. Những gì tôi muốn là khi người dùng nhấp vào cột Nationaliteit, dữ liệu được sắp xếp với An trên đầu trang. Và như vậy cho mỗi cột
Đây là listplayers danh sách:
namespace SimulatorSimulator
{
class SpelerData
{
public string Voornaam { get; set; }
public string Achternaam { get; set; }
public string Positie { get; set; }
public string Nationaliteit { get; set; }
public int Age { get; set; }
public int Aanval { get; set; }
public int Verdediging { get; set; }
public int Gemiddeld { get; set; }
public string TransferWaarde { get; set; }
}
}
và trong lớp học chính:
List<SpelerData> listPlayers = new List<SpelerData>();
Một số dữ liệu giả:
Romelu;Lukaku;Aanvaller;Belgie;22;87;12;50;41.000.000,00
Raheem ;Sterling;Aanvaller;Engeland;21;84;30;57;35.000.000,00
Zlatan ;Ibrahimovic;Aanvaller;Zweden;34;87;21;54;34.500.000,00
@KevinTinnemans Vui lòng xem xét nhận xét của Ivan Stoev về câu trả lời của Ian kỹ lưỡng hơn. Tôi có thể bị quấy rầy vì đã nói như vậy, và điều này có thể được hiểu sai kể từ khi tôi đăng câu trả lời của riêng tôi, nhưng câu trả lời được chấp nhận sẽ không giúp bạn trở thành một nhà phát triển tốt hơn theo bất kỳ cách nào. Lực lượng vũ phu là một điểm nhảy vọt, và là thứ bạn rơi trở lại khi bạn không thể đưa ra một giải pháp tốt hơn - mà có một số giải pháp cho vấn đề cụ thể này. Điều này sẽ dẫn đến thực tiễn không tốt và mã không thể quản lý được. –