发布时间:2026-09-28 18:09:52 浏览次数:3
下面是详细讲解“Winform中GridView分组排序功能实现方法”的完整攻略。
DataGridView 控件;DataGridView 的 DataSource 属性,使其绑定到数据源中。DataGridView 中,右键单击任意列的表头,选择“分组”,即可实现分组功能;示例:
private void btnGroup_Click(object sender, EventArgs e){ this.dataGridView1.Columns["country"].SortMode = DataGridViewColumnSortMode.Automatic; this.dataGridView1.Sort(this.dataGridView1.Columns["country"], ListSortDirection.Ascending); DataGridViewColumn cityColumn = this.dataGridView1.Columns["city"]; cityColumn.SortMode = DataGridViewColumnSortMode.Programmatic; this.dataGridView1.CellMouseDown += new DataGridViewCellMouseEventHandler(dataGridView1_CellMouseDown);}private void dataGridView1_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e){ if (e.RowIndex == -1) { if (dataGridView1.SortOrder.ToString() == "Ascending") { dataGridView1.Sort(dataGridView1.Columns[e.ColumnIndex], ListSortDirection.Descending); } else if (dataGridView1.SortOrder.ToString() == "Descending") { dataGridView1.Sort(dataGridView1.Columns[e.ColumnIndex], ListSortDirection.Ascending); } else { dataGridView1.Sort(dataGridView1.Columns[e.ColumnIndex], ListSortDirection.Ascending); } }}DataGridView 中,右键单击任意列的表头,选择“升序”或“降序”,即可实现对数据进行排序;示例:
private void dataGridView1_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e){ DataGridViewColumn sortColumn = dataGridView1.Columns[e.ColumnIndex]; DataGridViewColumn oldSortColumn = dataGridView1.SortedColumn; ListSortDirection direction; if (oldSortColumn != null) { if (dataGridView1.SortOrder == SortOrder.Ascending) { direction = ListSortDirection.Descending; } else { direction = ListSortDirection.Ascending; } oldSortColumn.HeaderCell.SortGlyphDirection = SortOrder.None; } else { direction = ListSortDirection.Ascending; } dataGridView1.Sort(sortColumn, direction); sortColumn.HeaderCell.SortGlyphDirection = direction == ListSortDirection.Ascending ? SortOrder.Ascending : SortOrder.Descending;}至此,“Winform中GridView分组排序功能实现方法”的完整攻略已经讲解完毕,希望对您有所帮助。