找回密码
 立即注册

QQ登录

只需一步,快速开始

CSCWijmo
金牌服务用户   /  发表于:2017-12-12 10:46:07
11#
JeffryLI 发表于 2017-12-8 16:35
您好,自定的模板里面的事件可以添加,以普通的标签元素对待就可以了,添加的列都在后面我不太确定,您可 ...

您好,我这边有限制,没法发demo上去,拷贝一下主要代码


  1. this.initialize({
  2.         autoGenerateColumns: false,
  3.         itemFormatter: (panel, r, c, cell) => {
  4.                 if (panel.cellType == wjcGrid.CellType.ColumnHeader) {
  5.                         let flex = panel.grid;
  6.                         let col = flex.columns[c];

  7.                         // check that this is a boolean column
  8.                         if (col.dataType == wjcCore.DataType.Boolean) {

  9.                                 // prevent sorting on click
  10.                                 col.allowSorting = false;

  11.                                 // count true values to initialize checkbox
  12.                                 var cnt = 0;
  13.                                 for (var i = 0; i < flex.rows.length; i++) {
  14.                                         if (flex.getCellData(i, c) == true) cnt++;
  15.                                 }

  16.                                 // create and initialize checkbox
  17.                                 cell.innerHTML = '<input type="checkbox"> ';
  18.                                 var cb = cell.firstChild;
  19.                                 cb.checked = cnt > 0;
  20.                                 cb.indeterminate = cnt > 0 && cnt < flex.rows.length;

  21.                                 // apply checkbox value to cells
  22.                                 cb.addEventListener('click', (e) => {
  23.                                         flex.beginUpdate();
  24.                                         for (var i = 0; i < flex.rows.length; i++) {
  25.                                                 flex.setCellData(i, c, cb.checked);
  26.                                         }
  27.                                         this.dataTest();
  28.                                         flex.endUpdate();
  29.                                 });
  30.                         }
  31.                 }
  32.         },
  33.         cellEditEnding: (s, e) => {
  34.                 var col = s.columns[e.col];
  35.                 if (col.binding == this._myProperty) {
  36.                         setTimeout(() => {
  37.                                 this.dataTest();
  38.                         });
  39.                 }
  40.         },
  41.         // 主要代码如下
  42.         columns: [
  43.                 { binding: 'template', header: 'Template', width: 130, isReadOnly: true },
  44.         ],
  45.         showAlternatingRows: false,
  46.         formatItem: (s, e) => {
  47.                 if (e.panel == s.cells && s.columns[e.col].binding == 'template') {
  48.                         let item = s.rows[e.row].dataItem,
  49.                                 html = wjcCore.format(theTemplate, item);
  50.                         e.cell.innerHTML = html;
  51.                 }
  52.         }
  53. });
复制代码






回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2017-12-12 11:01:20
12#
CSCWijmo 发表于 2017-12-12 10:46
您好,我这边有限制,没法发demo上去,拷贝一下主要代码

您好,
1、每一列的定义有一个allowSorting的属性,来定义是否该列参与排序,
2、对于您说的斑马线的消失,因为继承于flexgrid,所以所以集成控件的样式失效,请重新定义新控件的样式即可。
希望以上可以帮到您。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
CSCWijmo
金牌服务用户   /  发表于:2017-12-12 11:48:43
13#
JeffryLI 发表于 2017-12-12 11:01
您好,
1、每一列的定义有一个allowSorting的属性,来定义是否该列参与排序,
2、对于您说的斑马线的消 ...

哦哦,设置某一列在表格中的位置,是改变哪一个属性啊,可以调整某一列的在表格中的位置
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2017-12-12 12:17:59
14#
本帖最后由 JeffryLI 于 2017-12-12 16:01 编辑
CSCWijmo 发表于 2017-12-12 11:48
哦哦,设置某一列在表格中的位置,是改变哪一个属性啊,可以调整某一列的在表格中的位置

哥们,新的问题咱们换个帖子再提问呗,哈哈……
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
CSCWijmo
金牌服务用户   /  发表于:2017-12-12 15:30:15
15#
本帖最后由 JeffryLI 于 2017-12-12 16:01 编辑
JeffryLI 发表于 2017-12-12 12:17
哥们,新的问题咱们换个帖子再提问呗,哈哈……

我也想啊,我这是在手机看的,没找到哪里可以去打评分的,不好意思啊,晚上回家在电脑上看看。那个排序,可能是不是那个意思,我试了你说的那个属性,好像是给每一列排序,我想要的效果是,比如把第一列放到第二列的位置,或者把最后一列放到第一列的位置,这是怎么去实现的啊,前面那里有发我增加一列的代码,但是它是默认添加在最后面的,不知道怎么给移动到最前面
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2017-12-12 17:53:50
16#
CSCWijmo 发表于 2017-12-12 15:30
我也想啊,我这是在手机看的,没找到哪里可以去打评分的,不好意思啊,晚上回家在电脑上看看。那个排序, ...

这个我需要验证下给您回复,最晚明天午饭前给您答复。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2017-12-13 10:30:47
17#
JeffryLI 发表于 2017-12-12 17:53
这个我需要验证下给您回复,最晚明天午饭前给您答复。

您好,我做demo测试了,column的Index的是只读的属性,不能通过代码来移动列。不好意思哈。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
CSCWijmo
金牌服务用户   /  发表于:2017-12-13 10:50:55
18#
JeffryLI 发表于 2017-12-13 10:30
您好,我做demo测试了,column的Index的是只读的属性,不能通过代码来移动列。不好意思哈。

哦哦,如果我新增一列的话,有什么方法可以把这新增的列放在最前面呢,现在默认是在最后面的,
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2017-12-13 11:30:16
19#
CSCWijmo 发表于 2017-12-13 10:50
哦哦,如果我新增一列的话,有什么方法可以把这新增的列放在最前面呢,现在默认是在最后面的,

您好,这个没办法的,生成之后的index就确定了,没有能设置index的接口,他是个只读属性,在new的时候不能赋值
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部