/*--------------行上移------------------*/
1 private void 上移ToolStripMenuItem_Click(object sender, EventArgs e) 2 { 3 DataGridView curgrd = null; 4 curgrd = dgvSub; 5 6 if (curgrd.CurrentRow == null) 7 return; 8 9 curgrd.EndEdit(); 10 11 int selectedRowIndex = curgrd.CurrentRow.Index; 12 if (selectedRowIndex >= 1) 13 { 14 // 拷贝选中的行 15 DataGridViewRow newRow = curgrd.Rows[selectedRowIndex]; 16 17 // 删除选中的行 18 curgrd.Rows.Remove(curgrd.Rows[selectedRowIndex]); 19 20 // 将拷贝的行,插入到选中的上一行位置 21 curgrd.Rows.Insert(selectedRowIndex - 1, newRow); 22 23 // 选中最初选中的行 24 curgrd.CurrentCell = curgrd.Rows[selectedRowIndex - 1].Cells[0];//设定当前行 25 } 26 }
/*--------------行下移------------------*/
1 private void 下移ToolStripMenuItem_Click(object sender, EventArgs e) 2 { 3 DataGridView curgrd = null; 4 curgrd = dgvSub; 5 6 if (curgrd.CurrentRow == null) 7 return; 8 9 curgrd.EndEdit(); 10 11 int selectedRowIndex = curgrd.CurrentRow.Index; 12 if (selectedRowIndex < curgrd.Rows.Count - 1) 13 { 14 // 拷贝选中的行 15 DataGridViewRow newRow = curgrd.Rows[selectedRowIndex]; 16 17 // 删除选中的行 18 curgrd.Rows.Remove(curgrd.Rows[selectedRowIndex]); 19 20 // 将拷贝的行,插入到选中的下一行位置 21 curgrd.Rows.Insert(selectedRowIndex + 1, newRow); 22 23 // 选中最初选中的行 24 curgrd.CurrentCell = curgrd.Rows[selectedRowIndex + 1].Cells[0];//设定当前行 25 } 26 }