一、添加复选框

  此时应该选用EnhancedGrid,而不是普通的DataGrid。添加复选框需要设置EnhancedGrid的plugins属性,如下:

                    gridLayout =[{
defaultCell: { type: cells._Widget, styles: 'text-align: center;' },
cells: [
{ name: "WBS", field: "wbsCode", width: "60px"},
{ name:"配置名称",field:"configName",width:"80px"},
{ name:"设备名称", field: "equipName", width: "80px" },
{ name:"维修项目号", field: "mopNo", width: "100px" },
{ name:"维修项目名称", field: "mopName", width: "120px" },
{ name:"周期", field: "mlpCode", width: "60px" },
{ name:"计划时间", field: "planDate", width: "80px" }
]
}]; store=new Memory();
dataStore=new ObjectStore({objectStore : store});
grid = new EnhancedGrid({
structure: gridLayout,
store:dataStore,
"class": "grid",
escapeHTMLInData: false,
noDataMessage: "没有配置数据" ,
plugins: {indirectSelection: {headerSelector:true,width:"40px", styles:"text-align: center;"}}
}, "gridDiv"
);
grid.startup();

二、从服务器端读取复选框的设置

现在表格的数据从服务器端读取,同时希望能根据服务器端的数据设置复选框选取状态。

读取的JSON数据类似这样:

[{"wbsCode":"cf001","configName":"cf001","equipName":"cf001","mlpCode":"F","mopName":"CF001-M1","mopNo":"CF001-M2","id":"4028cfb74d98d365014d98d420c80002","isChecked":true,"planDate":"2015\/06\/06"},

{"wbsCode":"cf001","configName":"cf001","equipName":"cf001","mlpCode":"F","mopName":"MOP001-2","mopNo":"MOP001-2","id":"4028cfb74da06f0f014da0b2a4200002","isChecked":true,"planDate":"2015\/06\/06"},

{"wbsCode":"cf002","configName":"cf002","equipName":"cf002","mlpCode":"F","mopName":"MOP2-1的名字","mopNo":"MOP2-1","id":"4028cfb74da54d61014da54e21fd0002","isChecked":false,"planDate":"2015\/06\/06"},

{"wbsCode":"cf003","configName":"cf003","equipName":"cf003","mlpCode":"F","mopName":"MOP003-1","mopNo":"MOP003-1","id":"4028cfb74da7a9a8014da7abbdeb0002","isChecked":false,"planDate":"2015\/06\/06"},

{"wbsCode":"cf003","configName":"cf003","equipName":"cf003","mlpCode":"F","mopName":"MOP003-2","mopNo":"MOP003-2","id":"4028cfb74da7a9a8014da7abdd710005","isChecked":false,"planDate":"2015\/06\/06"},

{"wbsCode":"cf004","configName":"cf004","equipName":"cf004","mlpCode":"F","mopName":"mop004","mopNo":"mop004","id":"4028cfb74dae3f24014dae3f77cc0002","isChecked":false,"planDate":"2015\/06\/06"}]

希望可以通过isChecked来设置复选框状态。

网上有说直接设置EnhancedGrid的plugins的indirectSelection中的field属性,类似这样

                    grid = new EnhancedGrid({
structure: gridLayout,
store:dataStore,
"class": "grid",
escapeHTMLInData: false,
noDataMessage: "没有配置数据" ,
plugins: {indirectSelection: {headerSelector:true, field: "isChecked",width:"40px", styles:"text-align: center;"}}
}, "gridDiv"
);
grid.startup();

但并没有成功,不知道是哪里映射的不对。

最后采取的方法是采用grid.rowSelectCell.toggleRow方法。

                        request.get("yearPlanInputGetJsonAction.action?mode=query&yearPlanInput.isSaveView=no&yearPlanInput.yearPlanId="+yearPlanId,{handleAs : "json"})
.then(function(data)
{
store = new Memory({data : data });//id=miId
dataStore = new ObjectStore({objectStore : store});
grid.store = dataStore;
grid._refresh();
for(var rowIndex=0;rowIndex<store.data.length;rowIndex++){
grid.rowSelectCell.toggleRow(rowIndex, data[rowIndex].isChecked);
}
});

dojo:为数据表格添加复选框的更多相关文章

  1. 雷林鹏分享:jQuery EasyUI 数据网格 - 添加复选框

    jQuery EasyUI 数据网格 - 添加复选框 本实例演示如何放置一个复选框列到数据网格(DataGrid).通过复选框,用户将可以选择 选中/取消选中 网格行数据. 为了添加一个复选框列,我们 ...

  2. ajax动态添加复选框

    function getLands() { $.ajax({ url:"httpserver.do?doPost&userQygs="+$("#userQygs& ...

  3. Qt之QHeaderView添加复选框

    简述 前面分享了QTableView中如何添加复选框.本节主要介绍QTableView中的表头-QHeaderView添加复选框的功能,下面以水平表头为例,垂直表头类似! 简述 效果 QHeaderV ...

  4. 组合框里添加复选框的方法(使用勾选的假象,用图片代替而已,并非QT原生支持)

    组合框可以看作是列表框和文本框的组合,因其占据的空间少,使用操作方便,常被界面设计人员用于界面开发设计中,在有限个输入的条件下,组合框常用来代替文本框,这样从用户使用角度来看,更趋人性化,所见即所得. ...

  5. QListWidget的QComboBox下拉列表添加复选框及消息处理

    要在QComboBox下拉列表项中添加复选框,并进行消息处理,在网上搜索了很久没有找到太多有用的信息和实际的例子,但从中还是找到了一些提示性的资料,根据这些简短的介绍,最终实现了这个功能. QComb ...

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

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

  7. Jquery Datatable添加复选框,实现批量操作。

    最近一段时间,一直在写前端的东西,自己也不擅长,最近也有所长进,把工作中用到的一些前端知识整理一下,下次用到就不用再找了.这次主要是在datatable中添加复选框,然后实现批量操作的功能.因为是公司 ...

  8. Js动态添加复选框Checkbox

    Js动态添加复选框Checkbox的实例方法!!! 首先,使用JS动态产生Checkbox可以采用如下类似的语句: var checkBox=document.createElement(" ...

  9. excel添加复选框和去掉复选框

    添加复选框 我测试的excel版本是最新版2016,所有版本都是找开发者工具里面包含很多工具呢,大家可以慢慢测试 excel的右上角 点击文件-->选项-->自定义功能区-->添加开 ...

随机推荐

  1. 20165326 java实验一

    <Java程序设计>Java开发环境的熟悉 实验报告 课程:Java程序设计 班级:1653班 姓名:陈卓 学号:20165326 指导教师:娄嘉鹏 实验日期:2018年4月2日 实验时间 ...

  2. xampp 忘记密码的处理方式.

    网上看到一些方法: 大部分是第一种:  方法一 这个方法, 我使用的时候没有生效. -------------- 后来看到另外一种方法 .  直接替换user表的三个文件.  这个方法成功了. xam ...

  3. GIL 相关 和进程池

    #GIL (global interpreter Lock) #全局解释器锁 :锁是为了避免资源竞争造成数据错乱 #当一个py启动后 会先执行主线程中的代码#在以上代码中有启动了子线程 子线程的任务还 ...

  4. 解决MySQL不允许远程连接的问题

    进入MySQL:mysql  -u  root  -p mysql> GRANT ALL privileges ON *.* TO 'root' @'localhost' IDENTIFIED ...

  5. Visio 安装

    网上下载了光盘镜像文件,点击setup 安装,但是弹出来说少了文件,,msxml6,,,什么一大串,, 在网上下载了一个文件,,就可以用了,,,MicrosoftFixit50927.msi

  6. Spring Boot 揭秘与实战(二) 数据缓存篇 - EhCache

    文章目录 1. EhCache 集成 2. 源代码 本文,讲解 Spring Boot 如何集成 EhCache,实现缓存. 在阅读「Spring Boot 揭秘与实战(二) 数据缓存篇 - 快速入门 ...

  7. 【计算机视觉】KCF算法

    code opencv3.3.1-contrib  ---- TrackerKCF.cpp opencv如何更新目标区域的过程: // calculate filter response if(par ...

  8. [LeetCode&Python] Problem 427. Construct Quad Tree

    We want to use quad trees to store an N x N boolean grid. Each cell in the grid can only be true or ...

  9. 洛谷P1415 拆分数列(dp)

    题目链接:传送门 题目: 题目背景 [为了响应党中央勤节俭.反铺张的精神,题目背景描述故事部分略去^-^] 题目描述 给出一列数字,需要你添加任意多个逗号将其拆成若干个严格递增的数.如果有多组解,则输 ...

  10. 基于C#利用ffmpeg提取视频帧

    利用ffmepg提取视频帧实际上是利用C#调用ffmepg命令行进行处理对应的视频,然后输出出视频帧 GetPicFromVideo("); static public string Get ...