up / down button on grid

how can i slide the records when clicked up/down button on grid. The following is the relevant code

Thank you for your help.

static void moveRecordUpDown(FormDataSource _fds, HEX_SampleLabel _SampleLabel, boolean _up = true)
{
HEX_SampleLabel SampleLabel;
InventQualityOrderTable qualityOrderTable;
HEX_SampleNo oldSampleNo, newSampleNo, maxSampleNo, minSampleNo;
;
oldSampleNo = _SampleLabel.SampleNo;
if(!_up)
{
select maxOf(SampleNo) from SampleLabel
where sampleLabel.RefQualityOrderId;
maxSampleNo = SampleLabel.SampleNo;

if(oldSampleNo == maxSampleNo)
return;

select firstonly SampleNo from SampleLabel order by SampleNo
where SampleLabel.SampleNo;
newSampleNo = SampleLabel.SampleNo;
}
else
{
select minOf(SampleNo) from SampleLabel
where sampleLabel.RefQualityOrderId;
minSampleNo = SampleLabel.SampleNo;
if(oldSampleNo == minSampleNo)
return;

select firstonly SampleNo from SampleLabel order by SampleNo desc
where SampleLabel.SampleNo < _SampleLabel.SampleNo;

newSampleNo = SampleLabel.SampleNo;
}

try
{
ttsbegin;

SampleLabel = HEX_SampleLabel::find(newSampleNo, true);
SampleLabel.reread();

_SampleLabel.selectForUpdate(true);
_SampleLabel.reread();
_SampleLabel.SampleNo = newSampleNo;
_SampleLabel.update();

SampleLabel.reread();
SampleLabel.selectForUpdate(true);
SampleLabel.SampleNo = oldSampleNo;
SampleLabel.update();

HEX_SampleLabel::arrangeTmpLineNo();

ttscommit;
}
catch (exception::Error)
{
throw error(“ERROR”);
}
}

Looks more like AX to me?