找回密码
 立即注册

QQ登录

只需一步,快速开始

dllyzs

注册会员

11

主题

26

帖子

109

积分

注册会员

积分
109
dllyzs
注册会员   /  发表于:2020-12-21 14:24  /   查看:3058  /  回复:3
5金币
MultiRow设置selectionMode: wijmo.grid.SelectionMode.Row时,点击行后只有一行数据高亮?

能够高亮显示同一条记录的多行么?
效果如下图所示
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

您好,可以参考以下代码: 完整示例请参考: https://stackblitz.com/edit/js-brfwzu

3 个回复

倒序浏览
最佳答案
最佳答案
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-12-21 14:24:50
来自 2#
您好,可以参考以下代码:
  1. // Import stylesheets
  2. import "./style.css";
  3. import "@grapecity/wijmo.styles/wijmo.css";

  4. import * as wjcCore from "@grapecity/wijmo";
  5. import * as wjcInput from "@grapecity/wijmo.input";
  6. import * as wjcGrid from "@grapecity/wijmo.grid";
  7. import * as wjcGridFilter from "@grapecity/wijmo.grid.filter";
  8. import * as wjcMultirow from "@grapecity/wijmo.grid.multirow";

  9. var countries = "US,Germany,UK,Japan,Italy,Greece".split(",");

  10. const multirow = new wjcMultirow.MultiRow("#grid", {
  11.   itemsSource: getData(),
  12.   layoutDefinition: getLayoutDef()
  13. });

  14. multirow.select(-1, -1);

  15. multirow.selectionChanged.addHandler((s, e) => {
  16.   var rowsPerItem = s.rowsPerItem;
  17.   var rowIdx = e.row;
  18.   var mainRow = getFirstRow(rowIdx, rowsPerItem);
  19.   var cols = s.columns.length;
  20.   var rng = new wjcGrid.CellRange(mainRow, 0, mainRow + rowsPerItem - 1, cols);
  21.   if (rng.equals(s.selection)) {
  22.     return;
  23.   }
  24.   s.select(rng);
  25. });

  26. function getFirstRow(row, rowsPerItem) {
  27.   return row - (row % rowsPerItem);
  28. }

  29. // create some random data
  30. function getData() {
  31.   let data = [];
  32.   let _countries = "US,Germany,UK,Japan,Italy,Greece".split(",");
  33.   let _products = [
  34.     { id: 0, name: "Widget", unitPrice: 23.43 },
  35.     { id: 1, name: "Gadget", unitPrice: 12.33 },
  36.     { id: 2, name: "Doohickey", unitPrice: 53.07 }
  37.   ];
  38.   let dt = new Date();
  39.   for (let i = 0; i < 5; i++) {
  40.     let cond1 = i % 3 === 0,
  41.       cond2 = i % 4 === 0;
  42.     data.push({
  43.       id: i,
  44.       date: new Date(dt.getFullYear(), i % 12, 25, i % 24, i % 60, i % 60),
  45.       time: new Date(dt.getFullYear(), i % 12, 25, i % 24, i % 60, i % 60),
  46.       country: _countries[Math.floor(Math.random() * _countries.length)],
  47.       product: _products[Math.floor(Math.random() * _products.length)].name,
  48.       amount: Math.random() * 10000 - 5000,
  49.       discount: Math.random(),
  50.       sales: Math.random() * 2000
  51.     });
  52.   }
  53.   return data;
  54. }

  55. function getLayoutDef() {
  56.   return [
  57.     { cells: [{ binding: "id", header: "ID", width: 200 }] },
  58.     {
  59.       cells: [
  60.         {
  61.           binding: "date",
  62.           header: "Date",
  63.           format: "d",
  64.           width: 200,
  65.           aggregate: wjcCore.Aggregate.Max
  66.         },
  67.         { binding: "time", header: "Time", format: "t" }
  68.       ]
  69.     },
  70.     {
  71.       cells: [
  72.         {
  73.           binding: "country",
  74.           header: "Country",
  75.           width: 200,
  76.           multiLine: true,
  77.           wordWrap: true
  78.         },
  79.         {
  80.           binding: "product",
  81.           header: "Product",
  82.           width: 200,
  83.           multiLine: true,
  84.           wordWrap: true
  85.         }
  86.       ]
  87.     },
  88.     {
  89.       cells: [
  90.         {
  91.           binding: "amount",
  92.           header: "Amount",
  93.           width: 200,
  94.           aggregate: wjcCore.Aggregate.Std
  95.         },
  96.         {
  97.           binding: "discount",
  98.           header: "Discount",
  99.           width: 200,
  100.           format: "p2",
  101.           aggregate: wjcCore.Aggregate.Avg
  102.         }
  103.       ]
  104.     }
  105.   ];
  106. }
复制代码


完整示例请参考:
https://stackblitz.com/edit/js-brfwzu
回复 使用道具 举报
dllyzs
注册会员   /  发表于:2020-12-23 12:08:50
3#
谢谢~。
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-12-23 12:25:12
4#
感谢反馈,本贴结帖了,有新的问题欢迎发新帖交流~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部