1.先设置表格列的属性

procedure TForm_TaskToDW.InitGrid;
var
  MyCol: TColumnEh;
begin
  with DBGridEh_Task do
  begin
    Columns.Clear;
    MyCol := Columns.Add;
    MyCol.FieldName := 'Select';
    MyCol.Title.Caption := '选择';
    MyCol.Alignment := taCenter;
    MyCol.Width := 50;
    MyCol.ReadOnly := false;

MyCol := Columns.Add;
    MyCol.FieldName := 'TASK_NAME';
    MyCol.Title.Caption := '任务名称';
    MyCol.Width := 300;
    //MyCol.Alignment := taCenter;
    MyCol.ReadOnly := True;
  end;
end;

2.创建CDS

procedure TForm_TaskToDW.CreateCDSFlds;
begin
  with CDS_Task do
  begin
    FieldDefs.Clear;
    FieldDefs.Add('Select', ftBoolean);
    FieldDefs.Add('TASK_ID', ftString, 36);
    FieldDefs.Add('TASK_NAME', ftString, 120);
    FieldDefs.Add('IS_GEN', ftString, 1);
    CreateDataSet;
  end;
end;

3.通过下面这个方法实现拖动选中复选框

procedure TForm_TaskToDW.SetSelRowState(State: Boolean = True);
var
  I: Integer;
  BookMark: TBookmarkListEh;
begin
  //BookMark := DBGridEh_Task.SelectedRows;  //TBookmarkListEh

for I := 0 to DBGridEh_Task.SelectedRows.Count -1 do
  begin
    //if DBGridEh_Task.SelectedRows.CurrentRowSelected then //行被选中
    CDS_Task.GotoBookmark(Pointer(DBGridEh_Task.SelectedRows.Items[i]));
    begin
      CDS_Task.Edit;
      CDS_Task.FieldByName('Select').AsBoolean := State;
      CDS_Task.Post;
    end;
  end;
end;

最新文章

  1. javaScript 中的布尔运算符 && 和 ||
  2. 使用 PowerShell 自动登录Azure
  3. [BS-30] 你真的会用storyboard开发吗?
  4. 初识Oracle
  5. 【javascript】html5中使用canvas编写头像上传截取功能
  6. android事件系列-onTouch事件与手势操作
  7. F题 - A+B for Input-Output Practice (V)
  8. G - Shuffle'm Up
  9. [译] 使用Using Data Quality Services (DQS) 清理用户数据
  10. HDU4344(大数分解)
  11. IOS发展--他们控制的定义
  12. Chrome浏览器网页截全屏算法以及实现
  13. JavaScript中的函数使用
  14. Hadoop分布式集群配置
  15. SpringBoot之旅第六篇-启动原理及自定义starter
  16. codevs 1080 线段树练习(线段树)
  17. LINUX内核分析第七周学习总结——可执行程序的装载
  18. js 定义一个对象并且给对象赋值方法
  19. Ubuntu18.04 - 实现鼠标右键新建文件功能!
  20. 简单的字母全排列问题—递归法和STL法

热门文章

  1. 一个显示 OpenCV Mat 图像的自定义 Qt 控件
  2. Linux学习--第八天--acl、SetUID、SetGID、chattr、lsattr、sudo
  3. AIX中卷组管理
  4. DevExpress中的gridControl选择问题
  5. LCA统计
  6. creat-react-app生成的项目默认端口号是3000,如何更改?
  7. SpringMVC 向页面传值-Map、Model和ModelMap
  8. 第四篇:存储库之mongodb、redis、mysql
  9. python 脚本制作
  10. JAVA笔记23-IO流(1)