找回密码
 立即注册

QQ登录

只需一步,快速开始

nutstore
金牌服务用户   /  发表于:2022-5-25 11:19  /   查看:1300  /  回复:3
1金币
在 react环境下使用 但是会报告 spread.dataManager is not a function
  1. import { FC, useCallback, useEffect, useRef } from 'react'
  2. import * as GC from '@grapecity/spread-sheets'
  3. import '@grapecity/spread-sheets-tablesheet'
  4. import { SpreadSheets } from '@grapecity/spread-sheets-react'

  5. export const TableSheet: FC = () => {
  6.   const initSpread = useCallback((spread: GC.Spread.Sheets.Workbook) => {
  7.     spread.suspendPaint()
  8.     spread.clearSheets()
  9.     spread.options.autoFitType = GC.Spread.Sheets.AutoFitType.cellWithHeader

  10.     const tableName = 'Supplier'
  11.     const dataManager = spread.dataManager()
  12.     const myTable = dataManager.addTable('myTable', {
  13.       remote: {
  14.         read: {
  15.           url: 'https://demodata.grapecity.com/northwind/api/v1/Orders',
  16.         },
  17.       },
  18.     })

  19.     //init a table sheet
  20.     const sheet = spread.addSheetTab(
  21.       0,
  22.       'TableSheet1',
  23.       GC.Spread.Sheets.SheetType.tableSheet,
  24.     )
  25.     sheet.options.allowAddNew = false //hide new row

  26.     //bind a view to the table sheet
  27.   void  myTable.fetch().then(function () {
  28.       const style = { formatter: 'MM/dd/yyyy' }
  29.       const view = myTable.addView('myView', [
  30.         { value: 'Id', width: 80 },
  31.         { value: 'CompanyName', width: 200, caption: 'Company Name' },
  32.         { value: 'ContactName', width: 150, caption: 'Contact' },
  33.         { value: 'ContactTitle', width: 200, caption: 'Title' },
  34.         { value: 'Address', width: 200 },
  35.         { value: 'City', width: 150, caption: 'City' },
  36.         { value: 'State', width: 100, caption: 'State' },
  37.         { value: 'Region', width: 100, caption: 'Region' },
  38.       ])
  39.       sheet.setDataView(view)
  40.     })

  41.     spread.resumePaint()
  42.   }, [])

  43.   return (
  44.     <SpreadSheets
  45.       workbookInitialized={spread => initSpread(spread)}
  46.     ></SpreadSheets>
  47.   )
  48. }
复制代码




最佳答案

查看完整内容

您好, 从报错提示看,可能是您未成功引入tablesheet。 您检查下package.json 看tablesheet组件以及各组件版本是否一致,统一修改为15.0.7。 如果前面带有^ 符号,请将^删除再次install测试下。 如果测试后问题仍未解决,建议您直接提供可复现此问题的demo,这边在代码基础上调试调研下原因。

3 个回复

倒序浏览
最佳答案
最佳答案
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-5-25 11:19:51
来自 2#
您好,
从报错提示看,可能是您未成功引入tablesheet。
您检查下package.json 看tablesheet组件以及各组件版本是否一致,统一修改为15.0.7。
如果前面带有^ 符号,请将^删除再次install测试下。

如果测试后问题仍未解决,建议您直接提供可复现此问题的demo,这边在代码基础上调试调研下原因。
回复 使用道具 举报
nutstore
金牌服务用户   /  发表于:2022-5-25 15:10:44
3#
Lynn.Dou 发表于 2022-5-25 12:09
您好,
从报错提示看,可能是您未成功引入tablesheet。
您检查下package.json 看tablesheet组件以及各组 ...

解决了
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-5-25 15:24:17
4#
问题解决了就好,那本帖就先结贴了,有问题欢迎另开新帖交流。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部