zoukankan      html  css  js  c++  java
  • cxgrid 上移下移一条记录

    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;
  • 相关阅读:
    内核模式之事件
    用户模式之临界区
    _stdcall与_cdecl区别
    列出系统所有进程
    一道多线程的题
    进程间通信三:父进程传参数与子进程返回值
    进程间通信二:管道技术之命名管道
    进程间通信二:管道技术之匿名管道
    进程间通信二:管道技术之输入输出重定向
    补充实验1:dhcp服务器分配网关-路由器的静态路由优先级
  • 原文地址:https://www.cnblogs.com/yangxuming/p/9948712.html
Copyright © 2011-2022 走看看