网上很多datagridview多行删除的例子,但多行移动还真不多,今天正好做到了,在这里记一下,只记下上移了,下移一样的
private void picUp_Click(object sender, EventArgs e)
{
errorProvider1.Clear();
if (dgvMain.SelectedRows.Count < 1)
{
errorProvider1.SetError(picUp, "未选中任何行");
return;
}
if(dgvMain.SelectedRows.Count == 1)
{
#region 单行移动
if (dgvMain.SelectedRows[0].Index == dgvMain.NewRowIndex)
return;
if (dgvMain.SelectedRows[0].Index == 0)
return;
DataTable dt = (DataTable)dgvMain.DataSource;
int index = dgvMain.SelectedRows[0].Index;
object[] ot = dt.Rows[index].ItemArray;
DataRow dr = dt.Rows[index];
dt.Rows.Remove(dr);