DataGridView.SortCompare Olay
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
bir sıralama işlemi gerçekleştirmek için iki hücre değerini karşılaştırdığında DataGridView gerçekleşir.
public:
event System::Windows::Forms::DataGridViewSortCompareEventHandler ^ SortCompare;
public event System.Windows.Forms.DataGridViewSortCompareEventHandler SortCompare;
public event System.Windows.Forms.DataGridViewSortCompareEventHandler? SortCompare;
member this.SortCompare : System.Windows.Forms.DataGridViewSortCompareEventHandler
Public Custom Event SortCompare As DataGridViewSortCompareEventHandler
Olay Türü
Örnekler
Aşağıdaki kod örneği, öğesinin birden çok sütunlu sıralamada nasıl kullanılacağını SortCompare gösterir. Bu örnek, Windows Forms DataGridView Denetiminde Nasıl Yapılır: Sıralamayı Özelleştirme bölümünde sağlanan daha büyük bir örneğin parçasıdır.
private void dataGridView1_SortCompare(object sender,
DataGridViewSortCompareEventArgs e)
{
// Try to sort based on the cells in the current column.
e.SortResult = System.String.Compare(
e.CellValue1.ToString(), e.CellValue2.ToString());
// If the cells are equal, sort based on the ID column.
if (e.SortResult == 0 && e.Column.Name != "ID")
{
e.SortResult = System.String.Compare(
dataGridView1.Rows[e.RowIndex1].Cells["ID"].Value.ToString(),
dataGridView1.Rows[e.RowIndex2].Cells["ID"].Value.ToString());
}
e.Handled = true;
}
Private Sub DataGridView1_SortCompare( _
ByVal sender As Object, ByVal e As DataGridViewSortCompareEventArgs) _
Handles DataGridView1.SortCompare
' Try to sort based on the contents of the cell in the current column.
e.SortResult = System.String.Compare(e.CellValue1.ToString(), _
e.CellValue2.ToString())
' If the cells are equal, sort based on the ID column.
If (e.SortResult = 0) AndAlso Not (e.Column.Name = "ID") Then
e.SortResult = System.String.Compare( _
DataGridView1.Rows(e.RowIndex1).Cells("ID").Value.ToString(), _
DataGridView1.Rows(e.RowIndex2).Cells("ID").Value.ToString())
End If
e.Handled = True
End Sub
Açıklamalar
Bu olay yalnızca özelliği ayarlanmadığında DataSource ve VirtualMode özellik değeri olduğunda false
gerçekleşir.
Bu olay, sıralanan sütundaki hücre çiftlerini karşılaştırır. Yalnızca kullanıcı özelliği değerine Automaticsahip SortMode bir sütunun üst bilgisine tıkladığında veya aşırı yüklemeyi çağırdığınızda Sort(DataGridViewColumn, ListSortDirection) oluşur. Bu olay özelliği değerine Programmaticsahip bir SortMode sütun için gerçekleştiğinde, sıralama karakterinizi özelliği aracılığıyla DataGridViewColumnHeaderCell.SortGlyphDirection kendiniz görüntülemeniz gerekir.
Bir sütundaki veya birden çok sütundaki hücre değerlerini kullanarak satırları sıralamak için bu olayı kullanabilirsiniz. özelliğinde CellValue1 belirtilen Column sütundaki hücre değerlerini karşılaştırmak için ve CellValue2 özelliklerini kullanın. RowIndex1 Koleksiyon aracılığıyla Rows diğer sütunlardaki değerlere erişmek için ve RowIndex2 özelliklerini kullanın.
Olayları işleme hakkında daha fazla bilgi için bkz. Olayları İşleme ve Oluşturma.
Şunlara uygulanır
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin