dllyzs 发表于 2020-11-24 16:56:37

使用MultiRow时,可以根据CollectionView的数据索引和binding值获取对应的Cell么?

本帖最后由 dllyzs 于 2020-11-25 12:46 编辑

使用MultiRow(单条数据显示为两行或多行)时,可以根据CollectionView的数据索引和binding值获取对应的Cell么?
具体想法是:点击某一按钮后,根据数据索引和binding值选择表格中对应的cell(变成选择中),并修改对应Cell的颜色等信息。

KevinChen 发表于 2020-11-24 16:56:38

你好,可以实现,参考以下代码:

import 'bootstrap.css';
import '@grapecity/wijmo.styles/wijmo.css';
import './styles.css';
//
import * as wjCore from '@grapecity/wijmo';
import * as wjInput from '@grapecity/wijmo.input';
import * as wjMultiRow from '@grapecity/wijmo.grid.multirow';
import { generateAppData } from './data';
//
document.readyState === 'complete' ? init() : window.onload = init;
//
function init() {
    let appData = generateAppData();
    let orders = appData.orders;
    let layoutDefs = appData.layoutDefs;
    let currentLayout = appData.layoutDefs.currentItem;
    let multirow = new wjMultiRow.MultiRow('#multirow', {
      itemsSource: orders,
      layoutDefinition: currentLayout.def
    });
   
    multirow.formatItem.addHandler(function (s, e) {
      // center-align column headers
      if (e.panel == s.columnHeaders) {
            console.log(e);
      }
      // custom rendering for "Diff" columns
      if (e.panel == s.cells) {
            var col = s.columns;
            if (e.row > 0 && (col.binding == 'email')) {
                console.log(e)
            }
      }
    });

    let ldComboBox = new wjInput.ComboBox('#ldComboBox', {
      itemsSource: layoutDefs,
      displayMemberPath: 'name'
    });
    updateDescription();
    layoutDefs.currentChanged.addHandler(() => {
      currentLayout = appData.layoutDefs.currentItem;
      updateMultirow();
      updateDescription();
    });
    //
    function updateMultirow() {
      multirow.layoutDefinition = currentLayout.def;
    }
    //
    function updateDescription() {
      wjCore.setText(document.querySelector('#desc'), currentLayout.description);
    }
}


参考方法:
1、打开MultRow示例,替换app.js的代码,点运行2、查看控制台。

参考相关示例:
条件格式单元格

dllyzs 发表于 2020-11-25 09:20:40

非常感谢回答,但是这个好像不是我的问题的解决方案。。:'(

KevinChen 发表于 2020-11-25 09:45:05

您好,很抱歉没有能理解你的思路,我的想法是,在下图代码处,可以通过添加自己的逻辑来实现实时修改单元格样式:


不知道这样能不能实现你的需求?如果不能,能否举例完整说明一下您的需求逻辑呢?

KevinChen 发表于 2020-11-25 09:45:07

您好,很抱歉没有能理解你的思路,我的想法是,在下图代码处,可以通过添加自己的逻辑来实现实时修改单元格样式:


不知道这样能不能实现你的需求?如果不能,能否举例完整说明一下您的需求逻辑呢?

dllyzs 发表于 2020-11-25 10:58:55

KevinChen 发表于 2020-11-25 09:45
您好,很抱歉没有能理解你的思路,我的想法是,在下图代码处,可以通过添加自己的逻辑来实现实时修改单元格 ...可能是我写的不是很清楚。
我的意思不是在数据加载的时候,是在表格自身以外的某个事件或者方法中通过数据的数据行索引和binding值来找到对应的单元格。
实际业务是将数据提交到后台后,在进行数据处理时发现有数据错误,返回到前台后需要将错误的数据标出出来。

KevinChen 发表于 2020-11-25 12:30:51

明白了,抱歉目前这个功能暂不支持,会向产品组提出需求,感谢您的反馈~

dllyzs 发表于 2020-11-25 12:45:00

感谢回答。

KevinChen 发表于 2020-11-25 13:32:15

:g54da:
页: [1]
查看完整版本: 使用MultiRow时,可以根据CollectionView的数据索引和binding值获取对应的Cell么?