/// <summary>
/// 移动行
/// </summary>
/// <param name="i_UpFlag">移动标识,true:向上移动,false:向下移动</param>
private void MoveGridRow(bool i_UpFlag)
{
_isUpNext = true;
DataGridViewRow _row = gridviewStep.SelectedRows[0];
int _destPos = _row.Index;//目标行位置
bool _flag = false;
if (i_UpFlag)
{//向上
_destPos -= 1;
if (_destPos >= 0)
{//如果目标位置大于等于0
_flag = true;
}
}
else
{//向下
_destPos += 1;
if (_destPos < gridviewStep.Rows.Count)
{//如果目标位置小于等于当前行数
_flag = true;
}
}
if (_flag)
{
int _pos = _row.Index;
try
{
for (int k = 0; k < gridviewStep.Columns.Count; k++)
{//置换两行的值
object _old = gridviewStep.Rows[_destPos].Cells[k].Value;
gridviewStep.Rows[_destPos].Cells[k].Value = _row.Cells[k].Value;
_row.Cells[k].Value = _old;
}
gridviewStep.Rows[_destPos].Selected = true;
_row.Selected = false;
}
catch
{
}
gridviewStep.Focus();
gridviewStep.Rows[_destPos].Selected = true;
}
}