procedure TForm3.cxButton_moveDownClick(Sender: TObject); //下移
var
i: Integer;
recNo: Integer; //记录下位置
strName, stype, saddress, num: string;
begin
//i := cxGrid1DBTableView1.Controller.SelectedRows[0].RecordIndex;
strName := cxGrid1DBTableView1.DataController.DataSet.FieldByName('sname').AsString;
stype := cxGrid1DBTableView1.DataController.DataSet.FieldByName('stype').AsString;
saddress := cxGrid1DBTableView1.DataController.DataSet.FieldByName('saddress').AsString;
num := cxGrid1DBTableView1.DataController.DataSet.FieldByName('num').AsString;
cxGrid1DBTableView1.DataController.DataSet.Delete;
if cxGrid1DBTableView1.DataController.FocusedRecordIndex = cxGrid1DBTableView1.DataController.RecordCount - 1 then
begin
cxGrid1DBTableView1.DataController.Append;
end
else
begin
cxGrid1DBTableView1.DataController.MoveBy(1);
recNo := cxGrid1DBTableView1.Controller.SelectedRows[0].RecordIndex;
cxGrid1DBTableView1.DataController.Insert;
end;
cxGrid1DBTableView1.DataController.DataSet.FieldByName('sname').Value := strName;
cxGrid1DBTableView1.DataController.DataSet.FieldByName('stype').Value := stype;
cxGrid1DBTableView1.DataController.DataSet.FieldByName('saddress').Value := saddress;
cxGrid1DBTableView1.DataController.DataSet.FieldByName('num').Value := num;
cxGrid1DBTableView1.DataController.DataSet.Post;
//cxGrid1DBTableView1.DataController.DeleteRecord(i);
//cxGrid1DBTableView1.DataController.RecNo := recNo - 1;
end;
procedure TForm3.cxButton_moveUpClick(Sender: TObject); //上移
var
i: Integer;
recNo: Integer; //记录下位置
strName, stype, saddress, num: string;
begin
//i := cxGrid1DBTableView1.Controller.SelectedRows[0].RecordIndex;
strName := cxGrid1DBTableView1.DataController.DataSet.FieldByName('sname').AsString;
stype := cxGrid1DBTableView1.DataController.DataSet.FieldByName('stype').AsString;
saddress := cxGrid1DBTableView1.DataController.DataSet.FieldByName('saddress').AsString;
num := cxGrid1DBTableView1.DataController.DataSet.FieldByName('num').AsString;
recNo := cxGrid1DBTableView1.Controller.SelectedRows[0].RecordIndex;
if recNo = 0 then
Exit;
cxGrid1DBTableView1.DataController.MoveBy(-1);
cxGrid1DBTableView1.DataController.Insert;
cxGrid1DBTableView1.DataController.DataSet.FieldByName('sname').Value := strName;
cxGrid1DBTableView1.DataController.DataSet.FieldByName('stype').Value := stype;
cxGrid1DBTableView1.DataController.DataSet.FieldByName('saddress').Value := saddress;
cxGrid1DBTableView1.DataController.DataSet.FieldByName('num').Value := num;
cxGrid1DBTableView1.DataController.DataSet.Post;
cxGrid1DBTableView1.DataController.RecNo := recNo + 2;
cxGrid1DBTableView1.DataController.DataSet.Delete;
cxGrid1DBTableView1.DataController.RecNo := recNo;
//cxGrid1DBTableView1.DataController.DeleteRecord(i + 1);
end;