Çalışma Sayfası Verilerini Sıralama

Çalışma Sayfası Verilerini Sıralama

Aspose.Cells.GridDesktop’un API’ini kullanarak bir çalışma sayfasındaki verileri sıralamak için lütfen aşağıdaki adımları izleyin:

  • Her şeyden önce global bir nesne oluşturunHücre Aralığı böylece sınıfınızın kapsamındaki herhangi bir yerden erişilebilir
  • Şunun için bir olay işleyicisi oluşturun:SeçilenHücre AralığıDeğiştirildi olayıIzgaraMasaüstü. SeçilenHücre AralığıDeğiştirildi olay, bir kullanıcı tarafından seçilen bir hücre aralığı her değiştirildiğinde tetiklenir. Örneğin, bir kullanıcı hücreleri (sıralanacak verileri içeren) seçerse, seçim aralığı her değiştiğinde bu olay tetiklenir.
  • Olay işleyici sağlarCellRangeEventArgs hücre güncelleme aralığını (kullanıcı tarafından seçilen) ayrıca bir biçimde sağlayan argümanHücre Aralığı nesne. Yani, bu olay işleyicide, bunu atayacağızHücre Aralığı nesne (güncellenmiş hücre aralığını içeren) globalHücre Aralığıkodun diğer bölümlerinde de kullanılabilmesi için nesne. Hücre aralığını kaybetmediğimizden emin olmak için bir koşul içine olay işleyici kodu yazacağız.
  • Artık çalışma sayfası verilerini sıralamak için bazı kodlar yazabiliriz. Her şeyden önce, istediğiniz bir çalışma sayfasına erişin
  • OluşturmakSıralama Aralığı verileri sıralanacak olan hücrelerin aralığını tutacak nesne. İçindeSıralama Aralığı yapıcı, çalışma sayfasını, başlangıç satırı ve sütun dizinlerini, sıralanacak satır ve sütun sayısını, sıralama yönünü (yukarıdan aşağıya veya soldan sağa gibi) vb. belirtebiliriz.
  • şimdi arayabilirizÇeşit yöntemiSıralama Aralığı veri sıralamasını gerçekleştirmek için nesne. İçindeÇeşit yönteminde, sıralanacak sütun veya satırın dizinini ve sıralama düzenini (bu olabilirartan veyaAzalan gereksinimlerinize göre)
  • Sonunda arayabilirizGeçersiz kılmak yöntemiIzgaraMasaüstü hücreleri yeniden çizmek için

Aşağıda verilen örnekte, bir sütundaki verilerin nasıl sıralanacağını gösterdik.

Global bir CellRange nesnesi oluşturun veSeçilenHücre AralığıDeğiştirildiGridDesktop olayı. Şimdi aşağıdaki gibi kodu yazın:

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Creating global variable of CellRange
CellRange range;
private void gridDesktop1_SelectedCellRangeChanged(object sender, Aspose.Cells.GridDesktop.CellRangeEventArgs e)
{
// Checking if the range of cells is not empty
if ((e.CellRange.EndColumn - e.CellRange.StartColumn > 0) ||
(e.CellRange.EndRow - e.CellRange.StartRow > 0))
{
// Assigning the updated CellRange to global variable
range = e.CellRange;
}
}

Şimdi için metod yazıyoruz.Artan Sıralama . için bir düğme oluşturabilirsiniz.Artan Sıralama ve içine aşağıdaki kodu yazınTıklamak Etkinlik.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Accessing a worksheet that is currently active
Worksheet sheet = gridDesktop1.GetActiveWorksheet();
// Creating SortRange object
SortRange sr = new SortRange(sheet, range.StartRow,
range.StartColumn, range.EndRow - range.StartRow + 1,
range.EndColumn - range.StartColumn + 1,
SortOrientation.SortTopToBottom, true);
// Sorting data in the specified column in ascending order
sr.Sort(range.StartColumn, Aspose.Cells.GridDesktop.SortOrder.Ascending);
// Redrawing cells of the Grid
gridDesktop1.Invalidate();

Son olarak, elde etmek için bazı kodlar yazıyoruz.Azalan Sıralama işlevsellik. OluşturmakAzalan Sıralama butonuna basın ve içine aşağıdaki kodu yazın.Tıklamak Etkinlik.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Accessing a worksheet that is currently active
Worksheet sheet = gridDesktop1.GetActiveWorksheet();
// Creating SortRange object
SortRange sr = new SortRange(sheet, range.StartRow, range.StartColumn,
range.EndRow - range.StartRow + 1,
range.EndColumn - range.StartColumn + 1,
SortOrientation.SortTopToBottom, true);
// Sorting data in the specified column in descending order
sr.Sort(range.StartColumn, Aspose.Cells.GridDesktop.SortOrder.Descending);
// Redrawing cells of the Grid
gridDesktop1.Invalidate();