一、添加复选框

  此时应该选用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. drf 分页

    分页: 1.简单的分页: 每页显示条数: page_size = api_settings.PAGE_SIZE 查询的页码数: page_query_param = "page" ...

  2. SpringBoot(一) 入门篇,简单配置

    编辑工具:Intellij IDEA 一.SpringBoot的应用: 1.创建文件 2.项目结构 3.开始构建springboot项目,项目结构 第一步创建Person类: package com. ...

  3. phpcms 新建模块安装

    1.安装配置---小问题: 估计就我这么傻 T-T  ,改成自己的目录名. 2.模块的目录: 模块存放在modules文件夹里,打开这个文件夹,里面的一个文件夹代表一个模块. 3.建立模块以及其基本目 ...

  4. saliency 2015-2016的论文、代码

    https://github.com/ArcherFMY/Paper_Reading_List 另外2013年之前的见chengmingming的benchmark主页.

  5. Python之路,第五篇:Python入门与基础5

    python 循环语句 作用:  根据一定的条件,重复的执行一个或多个语句 两种循环语句: while 语句 for 语句 while 语句: 语法: while    真值表达式: 语句1 ... ...

  6. numpy unable to find vcvarsall.bat

    出现这种情况,是需要引用vc的编译器,可以安装vs来解决,并且安装numpy前, 设置如下宏 SET VS100COMNTOOLS=%VS110COMNTOOLS% SET VS90COMNTOOLS ...

  7. HURST 1116:选美大赛(LIS+路径输出)

    选美大赛 Time Limit: 1000 MS Memory Limit: 65536 K Total Submit: 1099(318 users) Total Accepted: 349(252 ...

  8. HDU 1171 Big Event in HDU dp背包

    Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s ...

  9. C#并发编程之异步编程2

    C#并发编程之异步编程(二)   写在前面 前面一篇文章介绍了异步编程的基本内容,同时也简要说明了async和await的一些用法.本篇文章将对async和await这两个关键字进行深入探讨,研究其中 ...

  10. day39Python

     1.Python简介 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它 ...