请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

名称

中级会员

34

主题

60

帖子

630

积分

中级会员

积分
630
名称
中级会员   /  发表于:2019-4-25 16:09  /   查看:4060  /  回复:1
本帖最后由 名称 于 2019-4-26 09:38 编辑

spreadjs使用SearchCondition进行tag标签查询时,如何进行全匹配查询,而不是模糊查询:
如tags有10,101,102,1024,查询字符searchString为10时,如果不要查询出101的格子

1 个回复

倒序浏览
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-4-25 18:19:28
沙发
您好,您指的是精确匹配,

首先,参考学习指南的示例:

https://demo.grapecity.com.cn/Sp ... e/#/demos/tagSearch

示例中的搜索用到了SearchCondition,

如代码所示:

  1. document.getElementById('btnSearchTag').onclick = function() {
  2.                 var searchOrder = parseInt(document.getElementById('searchOrder').value, 10);

  3.                 if (isNaN(searchOrder)) {
  4.                     return;
  5.                 }

  6.                 var condition = new spreadNS.Search.SearchCondition();
  7.                 condition.searchTarget = spreadNS.Search.SearchFoundFlags.cellTag;
  8.                 condition.searchString = document.getElementById('txtSearchTag').value;
  9.                 condition.findBeginRow = sheet.getActiveRowIndex();
  10.                 condition.findBeginColumn = sheet.getActiveColumnIndex();

  11.                 condition.searchOrder = searchOrder;
  12.                 if (searchOrder === 0) {
  13.                     condition.findBeginColumn++;
  14.                 } else {
  15.                     condition.findBeginRow++;
  16.                 }

  17.                 var result = sheet.search(condition);
  18.                 if (result.foundRowIndex < 0 && result.foundColumnIndex < 0) {
  19.                     condition.findBeginRow = 0;
  20.                     condition.findBeginColumn = 0;
  21.                     result = sheet.search(condition);
  22.                 }

  23.                 var row = result.foundRowIndex,
  24.                     col = result.foundColumnIndex;

  25.                 if (row < 0 && col < 0) {
  26.                     document.getElementById('txtTag').value = 'Not found';
  27.                 } else {
  28.                     sheet.setActiveCell(row, col);
  29.                     document.getElementById('txtTag').value = sheet.getTag(row, col);
  30.                 }
  31.             };

  32.             sheet.resumePaint();
  33.         }
复制代码


其中,SearchCondition有个属性是searchFlags,可以为它设置

searchCondition.searchFlags = GC.Spread.Sheets.Search.SearchFlags.exactMatch;

参考API:

https://demo.grapecity.com.cn/sp ... ch.SearchFlags.html
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部