private void dgv_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) { rowSortASC(e.ColumnIndex); }
//按某列递增
private void rowSortASC(int columnIndex) { DataTable dt = (DataTable)dgv.DataSource; DataTable sort = dt.Clone(); int count = dt.Rows.Count - 1; for (int i = 0; i < count; i++) { double max; int flag = 0;
if (dt.Rows[0][columnIndex].ToString().Length <= 0) { max = -1; } else { max = Convert.ToDouble(dt.Rows[0][columnIndex].ToString()); }
for (int j = 1; j < dt.Rows.Count - 1; j++) { double tmp; if (dt.Rows[j][columnIndex].ToString().Length <= 0) { tmp = -1; } else { tmp = Convert.ToDouble(dt.Rows[j][columnIndex].ToString()); }
if (tmp > max) { flag = j; max = tmp; } }
sort.Rows.Add(dt.Rows[flag].ItemArray); dt.Rows.RemoveAt(flag); } sort.Rows.Add(dt.Rows[dt.Rows.Count - 1].ItemArray); dgv.DataSource = sort; }