spreadJs的使用实例

spreadJs的使用实例lt DOCTYPEhtml gt lt html gt lt head gt lt metahttp equiv Content Type content text html charset UTF 8 gt lt title gt spreadJs demo lt title gt lt linkrel s

 
   
   spreadJs-demo 
    
     
     
     
     
      
       罐子类型  月度目标差额  历史完成月度  上月是否完成规划  
      

esheetSearch.js

$(function(){ //自定已筛选 function CustomFilter(){ GC.Spread.Sheets.ConditionalFormatting.Condition.apply(this, arguments); }; CustomFilter.prototype = new GC.Spread.Sheets.ConditionalFormatting.Condition(); CustomFilter.prototype.evaluate = function (evaluator, row, col) { var value = evaluator.getValue(row, col); if (value !== '' && isNumber(value.trim())) { return true; } else { return false; } }; document.getElementById('searchBtn').onclick = function() { var sheet = spread.getActiveSheet(); var searchCondition = getSearchCondition(); var searchResult = null; var sels = sheet.getSelections(); if (sels.length > 1) { searchCondition.searchFlags |= spreadNS.Search.SearchFlags.blockRange; } else if (sels.length == 1) { var spanInfo = getSpanInfo(sheet, sels[0].row, sels[0].col); if (sels[0].rowCount != spanInfo.rowSpan && sels[0].colCount != spanInfo.colSpan) { searchCondition.searchFlags |= spreadNS.Search.SearchFlags.blockRange; } } searchResult = getResultSearchinSheetEnd(searchCondition); if (searchResult == null || searchResult.searchFoundFlag == spreadNS.Search.SearchFoundFlags.none) { searchResult = getResultSearchinSheetBefore(searchCondition); } if (searchResult != null && searchResult.searchFoundFlag != spreadNS.Search.SearchFoundFlags.none) { spread.setActiveSheetIndex(searchResult.foundSheetIndex); var sheet = spread.getActiveSheet(); sheet.setActiveCell(searchResult.foundRowIndex, searchResult.foundColumnIndex); if ((searchCondition.searchFlags & spreadNS.Search.SearchFlags.blockRange) == 0) { sheet.setActiveCell(searchResult.foundRowIndex, searchResult.foundColumnIndex, 1, 1); } //scrolling if (searchResult.foundRowIndex < sheet.getViewportTopRow(1) || searchResult.foundRowIndex > sheet.getViewportBottomRow(1) || searchResult.foundColumnIndex < sheet.getViewportLeftColumn(1) || searchResult.foundColumnIndex > sheet.getViewportRightColumn(1) ) { sheet.showCell(searchResult.foundRowIndex, searchResult.foundColumnIndex, spreadNS.VerticalPosition.center, spreadNS.HorizontalPosition.center); } else { sheet.repaint(); } } else { //Not Found alert('Not Found'); } }; //罐子类型筛选 $("#viewType").change(function(){ var sheet = spread.getActiveSheet(), filter = sheet.rowFilter(), value = $("#viewType").val(); col = columnNums-1; if (filter) { if(''==value){ value="*"; } filter.removeFilterItems(col); var condition = new spreadNS.ConditionalFormatting.Condition(spreadNS.ConditionalFormatting.ConditionType.textCondition, { compareType: spreadNS.ConditionalFormatting.TextCompareType.contains, expected: value }); filter.addFilterItem(col, condition); filter.filter(); sheet.invalidateLayout(); sheet.repaint(); } }); //月度差额 $("#monthCE").change(function(){ var sheet = spread.getActiveSheet(), filter = sheet.rowFilter(), value = $("#monthCE").val(); col = columnNums-4; if (filter) { if(''==value){ value="*"; }else if("Y"==value){ value='已完成'; } filter.removeFilterItems(col); var condition = new spreadNS.ConditionalFormatting.Condition(spreadNS.ConditionalFormatting.ConditionType.textCondition, { compareType: spreadNS.ConditionalFormatting.TextCompareType.contains, expected: value }); if('N'==value){ var condition1 = new spreadNS.ConditionalFormatting.Condition(spreadNS.ConditionalFormatting.ConditionType.textCondition, { compareType: spreadNS.ConditionalFormatting.TextCompareType.doesNotContain, expected: '已完成' }); var condition2 = new spreadNS.ConditionalFormatting.Condition(spreadNS.ConditionalFormatting.ConditionType.textCondition, { compareType: spreadNS.ConditionalFormatting.TextCompareType.notEqualsTo, expected: '' }); var conditions=getComplexCondition(condition1,condition2); filter.addFilterItem(col, conditions); }else{ filter.addFilterItem(col, condition); } filter.filter(); sheet.invalidateLayout(); sheet.repaint(); } }); //历史完成月度 $("#hisCompletedMonth").change(function(){ var sheet = spread.getActiveSheet(), filter = sheet.rowFilter(), value = $("#hisCompletedMonth").val(); col = columnNums-3; if (filter) { if(''==value){ value="*"; }else if('1个月'==value){ value='/1个月'; } filter.removeFilterItems(col); var condition = new spreadNS.ConditionalFormatting.Condition(spreadNS.ConditionalFormatting.ConditionType.textCondition, { compareType: spreadNS.ConditionalFormatting.TextCompareType.contains, expected: value }); if('x个月'==value){ var condition1 = new spreadNS.ConditionalFormatting.Condition(spreadNS.ConditionalFormatting.ConditionType.textCondition, { compareType: spreadNS.ConditionalFormatting.TextCompareType.doesNotContain, expected: '/1个月' }); var condition2 = new spreadNS.ConditionalFormatting.Condition(spreadNS.ConditionalFormatting.ConditionType.textCondition, { compareType: spreadNS.ConditionalFormatting.TextCompareType.notEqualsTo, expected: ''//null也可以 }); /* var condition2 = new GC.Spread.Sheets.ConditionalFormatting.Condition(GC.Spread.Sheets.ConditionalFormatting.ConditionType.formulaCondition,{ compareType: GC.Spread.Sheets.ConditionalFormatting.CustomValueType.nonEmpty });*/ var conditions=getComplexCondition(condition1,condition2); filter.addFilterItem(col, conditions); }else{ filter.addFilterItem(col, condition); } filter.filter(); sheet.invalidateLayout(); sheet.repaint(); } }); //上月是否完成规划 $("#hasCompletedMonthPlan").change(function(){ var sheet = spread.getActiveSheet(), filter = sheet.rowFilter(), value = $("#hasCompletedMonthPlan").val(); col = columnNums-2; if (filter) { if(''==value){ value="*"; } filter.removeFilterItems(col); var condition = new spreadNS.ConditionalFormatting.Condition(spreadNS.ConditionalFormatting.ConditionType.textCondition, { compareType: spreadNS.ConditionalFormatting.TextCompareType.contains, expected: value }); filter.addFilterItem(col, condition); filter.filter(); sheet.invalidateLayout(); sheet.repaint(); } }); }); function getComplexCondition(condition1,condition2){ var conditions = new GC.Spread.Sheets.ConditionalFormatting.Condition(GC.Spread.Sheets.ConditionalFormatting.ConditionType.relationCondition, { compareType: spreadNS.ConditionalFormatting.LogicalOperators.and, item1: condition1, item2: condition2 }); return conditions; } function getSpanInfo(sheet, row, col) { var span = sheet.getSpans(new spreadNS.Range(row, col, 1, 1)); if (span.length > 0) { return { rowSpan : span[0].rowCount, colSpan : span[0].colCount }; } else { return { rowSpan : 1, colSpan : 1 }; } } function getResultSearchinSheetEnd(searchCondition) { var sheet = spread.getActiveSheet(); searchCondition.startSheetIndex = spread.getActiveSheetIndex(); searchCondition.endSheetIndex = spread.getActiveSheetIndex(); if (searchCondition.searchOrder == spreadNS.Search.SearchOrder.zOrder) { searchCondition.findBeginRow = sheet.getActiveRowIndex(); searchCondition.findBeginColumn = sheet.getActiveColumnIndex() + 1; } else if (searchCondition.searchOrder == spreadNS.Search.SearchOrder.nOrder) { searchCondition.findBeginRow = sheet.getActiveRowIndex() + 1; searchCondition.findBeginColumn = sheet.getActiveColumnIndex(); } if ((searchCondition.searchFlags & spreadNS.Search.SearchFlags.blockRange) > 0) { var sel = sheet.getSelections()[0]; searchCondition.rowStart = sel.row; searchCondition.columnStart = sel.col; searchCondition.rowEnd = sel.row + sel.rowCount - 1; searchCondition.columnEnd = sel.col + sel.colCount - 1; } var searchResult = spread.search(searchCondition); return searchResult; } function getResultSearchinSheetBefore(searchCondition) { var sheet = spread.getActiveSheet(); searchCondition.startSheetIndex = spread.getActiveSheetIndex(); searchCondition.endSheetIndex = spread.getActiveSheetIndex(); if ((searchCondition.searchFlags & spreadNS.Search.SearchFlags.blockRange) > 0) { var sel = sheet.getSelections()[0]; searchCondition.rowStart = sel.row; searchCondition.columnStart = sel.col; searchCondition.findBeginRow = sel.row; searchCondition.findBeginColumn = sel.col; searchCondition.rowEnd = sel.row + sel.rowCount - 1; searchCondition.columnEnd = sel.col + sel.colCount - 1; } else { searchCondition.rowStart = -1; searchCondition.columnStart = -1; searchCondition.findBeginRow = -1; searchCondition.findBeginColumn = -1; searchCondition.rowEnd = sheet.getActiveRowIndex(); searchCondition.columnEnd = sheet.getActiveColumnIndex(); } var searchResult = spread.search(searchCondition); return searchResult; } function getResultSearchinWorkbookEnd(searchCondition) { searchCondition.rowStart = -1; searchCondition.columnStart = -1; searchCondition.findBeginRow = -1; searchCondition.findBeginColumn = -1; searchCondition.rowEnd = -1; searchCondition.columnEnd = -1; searchCondition.startSheetIndex = spread.getActiveSheetIndex() + 1; searchCondition.endSheetIndex = -1; var searchResult = spread.search(searchCondition); return searchResult; } function getResultSearchinWorkbookBefore(searchCondition) { searchCondition.rowStart = -1; searchCondition.columnStart = -1; searchCondition.findBeginRow = -1; searchCondition.findBeginColumn = -1; searchCondition.rowEnd = -1; searchCondition.columnEnd = -1; searchCondition.startSheetIndex = -1 searchCondition.endSheetIndex = spread.getActiveSheetIndex() - 1; var searchResult = spread.search(searchCondition); return searchResult; } function getSearchCondition(searchString) { var searchCondition = new spreadNS.Search.SearchCondition(); var searchString=$("#inputValue").val(); searchCondition.searchString = searchString; searchCondition.startSheetIndex = spread.getActiveSheetIndex(); searchCondition.endSheetIndex = spread.getActiveSheetIndex(); searchCondition.searchOrder = spreadNS.Search.SearchOrder.zOrder; searchCondition.searchTarget = spreadNS.Search.SearchFoundFlags.cellText; searchCondition.searchFlags |= spreadNS.Search.SearchFlags.ignoreCase; return searchCondition; } 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/202526.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午11:56
下一篇 2026年3月19日 下午11:56


相关推荐

  • c++ 优先级队列自定义比较函数_队列发送优先级

    c++ 优先级队列自定义比较函数_队列发送优先级#include<iostream>usingnamespacestd;#include”queue”//头文件voidOperator(){ priority_queue<int>p1;//默认是最大值优先级队列默认按从大到小存放 //priority_queue<int,vector<int>,less&…

    2025年11月28日
    8
  • strictmode android,Android中的StrictMode

    strictmode android,Android中的StrictModeStrictMode.ThreadPolicypublicstaticfinalclassStrictMode.ThreadPolicyextendsObjectjava.lang.Object↳android.os.StrictMode.ThreadPolicy介绍StrictMode是Android2.3(API9)中引入的一个工具类,继承自Object,它可以检测代码中的一…

    2022年5月29日
    36
  • SpringBoot配置文件自动装配,yml文件有提示读取配置文件

    SpringBoot配置文件自动装配,yml文件有提示读取配置文件添加组件 SpringBoot 的 application 配置组件 dependency groupId org springframew boot groupId artifactId spring boot configuratio processor artifactId optional t optional dependency

    2026年3月20日
    1
  • [科普]DLL是什么

    [科普]DLL是什么什么是 DLL 运行某一程序时 该程序的很多功能可能是由 DLL 提供的 例如 某些程序可能包含很多不同的模块 而该程序的每个模块都包含在 DLL 中并从中分发 使用 DLL 有助于促进代码的模块化 代码重用 内存的有效使用和减少所占用的磁盘空间 因此 操作系统和程序能够更快地加载和运行 并且在计算机中占用较少的磁盘空间 DLL 是一个包含可由多个程序同时使用的代码和数据的库 例如 在 Windows 操作系统中 Comdlg32DLL 执行与对话框有关的常见函数 因此 每个程序都可以使用该

    2026年3月17日
    2
  • sql中ddl和dml(数据库表与视图的区别)

    DDL和DML的定义和区别1、DML(DataManipulationLanguage)数据操纵语言:适用范围:对数据库中的数据进行一些简单操作,如insert,delete,update,select等.对表(索引和序列)中数据操作就是DML,对数据库中的(表,索引,序列,同义词等)都是DDL操作 2、DDL(DataDefinitionLanguage)数据定义语言:适用范围:对数据库…

    2022年4月17日
    47
  • 在Refit上模拟ApiException

    在Refit上模拟ApiException如何使用 Mock 和 Refit 来测试应用程序是否正确报告了 422 状态代码和字符串错误 或其他任何内容

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号