起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: zhaixin

grid组件(grid、tree、treeGrid)

  [复制链接]

88

主题

9507

帖子

5135

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5135
QQ
 楼主| 发表于 2013-1-4 13:35:54 | 显示全部楼层

勾选父节点禁用子节点

在grid组件的onRowChecked事件中写如下代码
  1. tree.grid1RowChecked = function(event){
  2.         var dgrid = event.grid;
  3.         var rows = dgrid.getAllSubItems(event.rowID);
  4.         if(rows){
  5.                 rows = rows.split(",");
  6.                 for(var id in rows){
  7.                         dgrid.setCanCheckedRow(rows[id],!event.checked);
  8.                 }
  9.         }        
  10. };
复制代码
远程的联系方法 QQ 728094812。添加好友时,需要填写论坛账号
发远程时同时也发一下帖子的地址,方便了解要解决的问题

如按照该方法解决,请及时跟帖,便于版主结贴

88

主题

9507

帖子

5135

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5135
QQ
 楼主| 发表于 2013-1-4 13:39:02 | 显示全部楼层

获得Grid列数

  1. justep.xbl('grid的id').grid.columnIds.length;
复制代码
远程的联系方法 QQ 728094812。添加好友时,需要填写论坛账号
发远程时同时也发一下帖子的地址,方便了解要解决的问题

如按照该方法解决,请及时跟帖,便于版主结贴

88

主题

9507

帖子

5135

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5135
QQ
 楼主| 发表于 2013-1-4 13:59:21 | 显示全部楼层

设置焦点

1、设置焦点

设置grid组件的焦点通过调用grid组件的setActive方法实现
如 grid.setActive(true);

应用场景:主从grid,主表移动记录后,由于刷新了从grid,因此焦点到了从grid,如果还希望主grid有焦点,在主grid的onAfterIndexChanged事件中加下面的代码即可
event.grid.setActive(true);

2、设置单元格的焦点

调用grid组件的selectCell方法实现
  1. var grid = justep.xbl("grdMain").grid;
  2. grid.selectCell(1,1,true,true,true,true);
复制代码
远程的联系方法 QQ 728094812。添加好友时,需要填写论坛账号
发远程时同时也发一下帖子的地址,方便了解要解决的问题

如按照该方法解决,请及时跟帖,便于版主结贴

88

主题

9507

帖子

5135

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5135
QQ
 楼主| 发表于 2013-1-4 14:07:55 | 显示全部楼层

设置全选框

通过下面的方法获取全选框对象
var o = grid.getHeaderMasterCheckbox();
设置选中
o.checked='1';
取消选中
o.checked='';

说明:上面的方法只是用于设置全选框,不影响grid中各行的选中状态,和用鼠标点击全选框的效果不同
远程的联系方法 QQ 728094812。添加好友时,需要填写论坛账号
发远程时同时也发一下帖子的地址,方便了解要解决的问题

如按照该方法解决,请及时跟帖,便于版主结贴

88

主题

9507

帖子

5135

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5135
QQ
 楼主| 发表于 2013-1-4 14:14:15 | 显示全部楼层

获取过滤框中的值

QQ截图20130104141541.png
获取grid组件第二列的过滤框中的值的代码如下
  1. justep.xbl("grdMain").grid.filters[1][0].value
复制代码
远程的联系方法 QQ 728094812。添加好友时,需要填写论坛账号
发远程时同时也发一下帖子的地址,方便了解要解决的问题

如按照该方法解决,请及时跟帖,便于版主结贴

88

主题

9507

帖子

5135

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5135
QQ
 楼主| 发表于 2013-1-4 14:21:06 | 显示全部楼层

增加过滤框回车事件

在model组件的onLoad事件中写如下代码
  1. var grid = justep.xbl("grid1").grid;
  2. grid.attachEvent("onFilterEnd",function(col,type,order){
  3.     //todo
  4. });
复制代码
加入调整列宽的代码,可以实现过滤后重新调整列宽;
加入获取过滤框值的代码,可以实现后台过滤
远程的联系方法 QQ 728094812。添加好友时,需要填写论坛账号
发远程时同时也发一下帖子的地址,方便了解要解决的问题

如按照该方法解决,请及时跟帖,便于版主结贴

229

主题

788

帖子

890

积分

高级会员

Rank: 4

积分
890
QQ
发表于 2013-1-21 16:13:27 | 显示全部楼层
zhaixin 发表于 2012-11-30 16:29
1、给data组件增加一个计算关系
2、在grid上添加列,将计算关系作为grid的列显示出来,并设置这列的type属 ...

大哥,还是按照你说的那样做了,还是不行啊,是不是还需要设置什么啊?

32

主题

131

帖子

158

积分

初级会员

Rank: 2

积分
158
发表于 2013-1-28 17:57:42 | 显示全部楼层
zhaixin 发表于 2012-11-30 16:29
1、给data组件增加一个计算关系
2、在grid上添加列,将计算关系作为grid的列显示出来,并设置这列的type属 ...

为什么我这样做了,但是我点新建的时候每一行前面没有出现数字啊?

283

主题

1378

帖子

2001

积分

金牌会员

Rank: 6Rank: 6

积分
2001
QQ
发表于 2013-4-21 12:09:45 | 显示全部楼层
gangjuan 发表于 2013-1-28 17:57
为什么我这样做了,但是我点新建的时候每一行前面没有出现数字啊?

把问题说的详细一点

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35918
发表于 2013-7-3 11:01:37 | 显示全部楼层
设置grid某一个单元格的颜色

可以用dhtmlxgrid的原生态方法
setCellTextStyle (row_id, ind, styleString)
参数:
rowid:行id
cellindex:单元格索引
styleString:样式字符串
如下:设置的是第4列的样式,索引是从0开始的
  1. var data = justep.xbl('data的id');
  2. var total = data.getTotal();
  3. var grid = justep.xbl('grid的id');
  4. for(var i=0;i<total;i++){
  5. var rowid = data.getID(i)
  6. grid.grid.setCellTextStyle(rowid,3,"background-color: red");
复制代码
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
高级模式
B Color Image Link Quote Code Smilies

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-4-26 17:11 , Processed in 0.071387 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表