xtragrid 实现焦点行的上移下移主要还是对gridviw绑定的数据表的操作,如果只是简单的显示而不做保存操作那么比较简单,直接把绑定的数据表中的前后两行更换下数据,具体如下:
private void UpOrDown(DevExpress.XtraGrid.Views.Grid.GridView GridView, bool ISUpOrDown,string TabName)
{
DataRow row = GridView.GetFocusedDataRow();
if (ISUpOrDown)
GridView.MovePrev();
else
GridView.MoveNext();
DataRow Pretrow = GridView.GetFocusedDataRow();
DataRow IRow = lblPrintDS1.Tables[TabName].NewRow();
for (int k = 0; k < row.ItemArray.Length; k++)
IRow[k] = Pretrow[k];
for (int i = 0; i < row.ItemArray.Length; i++)
Pretrow[i] = row[i];
for (int j = 0; j < row.ItemArray.Length; j++)
row[j] = IRow[j];
}
{
DataRow row = GridView.GetFocusedDataRow();
if (ISUpOrDown)
GridView.MovePrev();
else
GridView.MoveNext();
DataRow Pretrow = GridView.GetFocusedDataRow();
DataRow IRow = lblPrintDS1.Tables[TabName].NewRow();
for (int k = 0; k < row.ItemArray.Length; k++)
IRow[k] = Pretrow[k];
for (int i = 0; i < row.ItemArray.Length; i++)
Pretrow[i] = row[i];
for (int j = 0; j < row.ItemArray.Length; j++)
row[j] = IRow[j];
}