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;

Delphi DbgridEh实现鼠标拖动选中列,并使复选框选中的更多相关文章

  1. gridview列前加复选框需要注意的一点

    前言 获取gridview每一列前面的复选框,然后获取选中的这一行的id.aspx页面,我不喜欢用这个,有的公司用自己封装的,基本上都是用封装的,这是我知道的.也有用Repeater的.可能是因为gr ...

  2. GridPanel列头带有复选框的列

    由于工作需要,封装了ExtJS4,GridPanel列头带有复选框的列, 代码如下: /** * 列头带有复选框的列 * */ Ext.define("org.pine.widget.Che ...

  3. jquery复选框 选中事件 及其判断是否被选中

    jquery复选框 选中事件 及其判断是否被选中 (2014-07-25 14:03:54) 转载▼ 标签: jquery复选框选中事件 分类: extjs jquery   今天做了 显示和不显示密 ...

  4. Web前端之复选框选中属性

    熟悉web前端开发的人都知道,判断复选框是否选中是经常做的事情,判断的方法很多,但是开发过程中常常忽略了这些方法的兼容性,而是实现效果就好 了.博主之前用户不少方法,经常Google到一些这个不好那个 ...

  5. Javascript 统计复选框选中个数

    var checked = document.getElementsByName("checked_c[]"); var checked_counts = 0; for(var i ...

  6. JS复选框选中

    Web前端之复选框选中属性   熟悉web前端开发的人都知道,判断复选框是否选中是经常做的事情,判断的方法很多,但是开发过程中常常忽略了这些方法的兼容性,而是实现效果就好了.博主之前用户不少方法,经常 ...

  7. springMvc接收ajax数组参数,以及jquery复选框选中、反选、全选、全不选

    一.复选框选中.反选.全选.全不选 html代码: <input type='checkbox' name='menuCheckBox' value='10' >苹果 <input ...

  8. Jquery获取当前页面中的复选框选中的内容

    在使用$.post提交数据时,有一个数据是复选框获取数据,所以在当前页面获取到复选框选中的值并提交到后端卡住了一下,解决方法如下: 这两个input就是复选框的内容: str += "< ...

  9. DateGridView标题列头添加复选框

    第一:添加列标题时,添加两个空格——用于显示复选框: 第二:实现列标题添加复选框,代码如下: private void AddCheckeBoxToDGVHeader(DataGridView dgv ...

随机推荐

  1. 这样讲 SpringBoot 自动配置原理,你应该能明白了吧

    https://juejin.im/post/5ce5effb6fb9a07f0b039a14 前言 小伙伴们是否想起曾经被 SSM 整合支配的恐惧?相信很多小伙伴都是有过这样的经历的,一大堆配置问题 ...

  2. Linux使用fsck修复文件系统

      1.fsck---file system check fsck 扫描文件系统时一定要在单用户模式.修复模式或把设备umount后进行.如果扫描运行中的系统,会造成系统文件损坏. RHEL6中fsc ...

  3. crontab误删操作的恢复与防范

    1.crontab -r 误删操作的恢复 语句解析:crontab -e 编辑 与 crontab -r 删除,由于e, r在键盘上是紧邻的,一旦误操作 crontab -r 将会删除每个用户的定时任 ...

  4. apk反编译(仅供娱乐)

    第一个文件夹里面放apk,第二个解析classes.dex,第三个查看java代码,下面三个apktool用来解析apk文件, 记得在环境变量中配置apktool,路径为apktool所在路径 1.解 ...

  5. HBase 权限控制

    HBase的权限管理依赖协协处理器.所以我们需要配置hbase.security.authorization=true,以及hbase.coprocessor.master.classes和hbase ...

  6. 介绍HTML5几种存储方式

    总体情况 h5之前,存储主要是用cookies.cookies缺点有在请求头上带着数据,大小是4k之内.主Domain污染. 主要应用:购物车.客户登录 对于IE浏览器有UserData,大小是64k ...

  7. #418 Div2 Problem B An express train to reveries (构造 || 全排列序列特性)

    题目链接:http://codeforces.com/contest/814/problem/B 题意 : 有一个给出两个含有 n 个数的序列 a 和 b, 这两个序列和(1~n)的其中一个全排列序列 ...

  8. c++ 初学者 慢慢成长中

    C++书籍推荐 从上往下 Essential C++ C++ Primer 中文版 Effeetive C++ More Effeetive C++ C++ 标准程序库 深度探索c++对象模型 C11

  9. 洛谷 P5022 旅行——题解

    发现大部分题解都是O(n^2)的复杂度,这里分享一个O(n)复杂度的方法. 题目传送 首先前60%的情况,图是一棵无根树,只要从1开始DFS,每次贪心走点的编号最小的点就行了.(为什么?因为当走到一个 ...

  10. (60) 结构体指针、结构体变量嵌套、结构体指针嵌套、函数指针、数组指针、指针数组、typedef 综合运用

    #include<stdio.h> #include<iostream> #include<malloc.h> /* author : 吴永聪 program: 结 ...