找回密码
 立即注册

QQ登录

只需一步,快速开始

樱花飞舞

注册会员

17

主题

46

帖子

153

积分

注册会员

积分
153
樱花飞舞
注册会员   /  发表于:2024-11-1 11:13  /   查看:154  /  回复:5
100金币
请问我在react中使用wijmo的flexgrid组件,使用select方法,选中数据后,视图定位到表格最底部,有什么方法可以让视图滚动到视图居中的位置吗?





最佳答案

查看完整内容

这个是产品的设计就是这样,目前没有选项可以让选中行刚好在中间,你可以不加最后一个参数,这样只是单纯select而不会跳转 然后自己自己判断需要滚动到哪一行,通过scrollintoview方法滚动即可, https://demo.grapecity.com.cn/wijmo/api/classes/wijmo_grid.flexgrid.html#scrollintoview

5 个回复

倒序浏览
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-11-1 11:13:04
来自 6#
这个是产品的设计就是这样,目前没有选项可以让选中行刚好在中间,你可以不加最后一个参数,这样只是单纯select而不会跳转

然后自己自己判断需要滚动到哪一行,通过scrollintoview方法滚动即可,
https://demo.grapecity.com.cn/wi ... html#scrollintoview
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-11-1 11:53:36
2#
“使用select方法,选中数据后,视图定位到表格最底部”具体的代码是什么?
回复 使用道具 举报
樱花飞舞
注册会员   /  发表于:2024-11-1 11:58:16
3#
Richard.Ma 发表于 2024-11-1 11:53
“使用select方法,选中数据后,视图定位到表格最底部”具体的代码是什么?
  1. import 'bootstrap.css';
  2. import '@grapecity/wijmo.styles/wijmo.css';
  3. import './app.css';
  4. //
  5. import * as React from 'react';
  6. import * as ReactDOM from 'react-dom/client';
  7. import * as wjGrid from '@grapecity/wijmo.react.grid';
  8. import { ODataCollectionView } from '@grapecity/wijmo.odata';
  9. import * as wjFilter from '@grapecity/wijmo.react.grid.filter';
  10. class App extends React.Component {
  11.     constructor(props) {
  12.         super(props);
  13.         this.state = {
  14.             flexGridRef: null,
  15.             customers: new ODataCollectionView("https://services.odata.org/Northwind/Northwind.svc", "Customers", {
  16.                 sortOnServer: true,
  17.                 filterOnServer: true
  18.             }),
  19.             itemCount: ""
  20.         };
  21.     }
  22.     render() {
  23.         return (<div className="container-fluid">
  24.         <p>{this.state.itemCount}</p>
  25.         <button onClick={this.handleJump}>跳转</button>
  26.         <wjGrid.FlexGrid itemsSource={this.state.customers} isReadOnly={true} initialized={this.flexInitialized.bind(this)}>
  27.           <wjFilter.FlexGridFilter />
  28.         </wjGrid.FlexGrid>
  29.       </div>);
  30.     }
  31.     flexInitialized(flexgrid) {
  32.         this.setState({
  33.             flexGridRef: flexgrid
  34.         })
  35.         flexgrid.loadedRows.addHandler(() => {
  36.             this.setState({
  37.                 itemCount: flexgrid.rows.length + " items"
  38.             });
  39.         });
  40.     }
  41.     handleJump = () => {
  42.         if (this.state.flexGridRef) {
  43.             this.state.flexGridRef.select(20, 0, true)
  44.         }
  45.     }
  46. }
  47. setTimeout(() => {
  48.     const container = document.getElementById('app');
  49.     if (container) {
  50.         const root = ReactDOM.createRoot(container);
  51.         root.render(<App />);
  52.     }
  53. }, 100);
复制代码
回复 使用道具 举报
樱花飞舞
注册会员   /  发表于:2024-11-1 12:00:04
4#

请见41行,奇怪贴不了图
回复 使用道具 举报
樱花飞舞
注册会员   /  发表于:2024-11-1 12:54:42
5#
详情请见贴图,谢谢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部