Slickgrid:最终列自动调整大小以使用所有剩余空间

2023-12-10

我正在使用 SlickGrid 并努力寻找一个优雅的解决方案来解决以下问题:

  1. 所有列在首次渲染时必须具有特定的初始宽度,但之后可以调整大小
  2. 调整窗口大小时,最后一列应自动填充剩余的列空间

我见过:

使一列填充 SlickGrid 中的剩余空间,而不会弄乱显式宽度的列
调整浏览器窗口大小时调整网格大小
如何自动调整 SlickGrid 中的列大小?

但这些似乎并不能完全满足我的需要。 如果我使用forceFitColumns选项,那么所有列都将自动调整大小(除非我在它们上设置了maxsize)。 在 window.resize 上使用 resizeCanvas 效果很好 - 但只有在 forceFitColumns 为 true 时它仍然有效。

如果我设置minWidth=maxWidth- 那么我无法调整列的大小。

有什么建议么?


我不确定它会解决你所有的问题,但就我而言,我确实使用forceFitColumns然后根据我希望我的列在大小上如何反应,我将使用以下组合minWidth and width,在某些情况下,那些永远不会超过一定宽度的,我会使用maxWidth以及。现在你遇到的问题是设置时minWidth与 as 相同maxWidth这当然会使其无法调整大小,请考虑一下您设置的最小值和最大值,SlickGrid 现在能够在之后调整其大小,从而尊重它。我还有我的网格,它占据了屏幕 95% 的宽度,所以我在侧面有一些填充,并且我使用 jQuery 自动调整大小。

这是我的代码:

// HTML Grid Container
<div id="myGridContainer" style="width:95%;">
    <div class="grid-header" style="width:100%">
        <label>ECO: Log / Slickgrid</label>
        <span style="float:right" class="ui-icon ui-icon-search" title="Toggle search panel" onclick="toggleFilterRow1()"></span>
    </div>
    <div id="myGrid" style="width:100%;height:600px;"></div>
    <div id="myPager"></div>
</div>

// My SlickGrid Options
var options = {
    enableCellNavigation: true,
    forceFitColumns: true
};

// The browser auto-resize 
$(window).resize(function () {
    $("#myGrid").width($("myGridContainer").width());
    $(".slick-viewport").width($("#myGrid").width());
    grid.resizeCanvas();
});


EDIT
我还对以下事实感到恼火:将所有这些一起使用会阻止您调整列的宽度。很久以后,我想出了一个不同的解决方案,它使字段扩展(采用可用宽度)并且不会阻止您调整宽度大小。所以我相信这个新的解决方案能够为您提供您正在寻找的东西......首先删除maxWidth财产且仅限使用minWidth and width,实际上你可能只能使用width如果你愿意的话。不幸的是,现在我不得不修改核心文件 1slick.grid.js使用以下代码:

//-- slick.grid.js --//

// on line 69 insert this code
autoExpandColumns: false,

// on line 1614 PREVIOUS CODE
if (options.forceFitColumns) {
    autosizeColumns();
}

// on line 1614 change to this NEW CODE
if (options.forceFitColumns || options.autoExpandColumns) {
    autosizeColumns();
}

然后回到网格定义,我将之前的选项替换为:

// My NEW SlickGrid Options
var options = {
    enableCellNavigation: true,
    forceFitColumns: false,     // make sure the force fit is false
    autoExpandColumns: true     // <-- our new property is now usable
};

通过这个新的更改,它具有强制配合(扩展)的一些功能,但不会像强制配合那样限制您随后调整列宽度大小。我还使用 columnPicker 对其进行了测试,如果您隐藏一列,它会相应地调整其他列的大小。我也修改了文件slick.columnpicker.js包含该属性的复选框,但这完全是可选的...如果你们中的任何人也想要的话,我也可以添加该代码。瞧! :)


EDIT #2
后来我意识到不需要修改核心文件,我们可以简单地调用grid.autosizeColumns()网格创建后。像这样

var options = { forceFitColumns: false };
grid = new Slick.Grid("#myGrid", data, columns, options);

// will take available space only on first load
grid.autosizeColumns(); 

这将在第一次加载时自动调整列的大小以适合屏幕,但不会给您带来限制forceFitcolumns flag.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Slickgrid:最终列自动调整大小以使用所有剩余空间 的相关文章

  • 如何在 SQL Server 中创建是/否布尔字段?

    创建一个的最佳实践是什么yes no i e Boolean从转换时的字段access database或者一般情况下 等价的是一个BIT field In SQL你用0 and 1设置位字段 就像 Access 中的是 否字段一样 在 M
  • SlickGrid 中的单元格工具提示

    我的 SlickGrid 表格中的一些单元格有myClass class 我为他们添加了一个工具提示 如下所示 myClass hover Mouse enters function e Mouse leaves function 它工作正
  • Twig Excel 捆绑包自动调整大小

    如何在 Twig Excel Bundle 中设置自动调整大小 https twigexcelbundle readthedocs io en latest 您可以设置默认值autoSize片材的属性true via columnDimen
  • 如何自动调整 iFrame 的大小? [复制]

    这个问题在这里已经有答案了 可能的重复 根据内容调整 iframe 的大小 我正在加载 iFrame 并希望父级根据 iFrame 内容的高度自动更改高度 简而言之 所有页面都属于同一域 因此我不应该遇到跨站点脚本问题 在任何其他元素上 我
  • UITableViewCell 具有基于宽度的固有高度

    所以我制作了自定义视图 ExpressionView 来可视化数学表达式 表达式的每一部分都是 UILabel 保存一个数字或运算 并且标签在 ExpressionView 内以右对齐的行对齐 我希望 ExpressionView 具有由外
  • UIScrollView 不会通过自动调整大小来调整大小

    我读到的关于在 iOS 5 上支持 UIScrollView 的所有内容都表明我应该能够使用 Xcode 的 Size Inspector 中的自动调整大小功能来自动调整视图的大小 使用故事板 我有一个 TabBarViewControll
  • ng-grid 支持虚拟滚动吗?

    我想在我的应用程序中使用 Slickgrid 来实现网格功能 但由于我大部分时间都使用 AngularJS 我认为 ng grid 是可行的方法 但不确定它是否支持虚拟滚动 我尝试查看他们的文档和没有找到任何有关虚拟滚动支持的信息 如果可能
  • WPF - 设置 Horizo​​ntalAlignment= 拉伸到 StackPanel 中的文本框

    为什么文本框不拉伸以填充堆栈面板中的空间 这是设计使然吗 在网格中 文本框按预期拉伸 是的 这是设计使然 这StackPanel将分配空间TextBox要求 如果你还没有设置宽度TextBox 它只需要足够的宽度来容纳其文本
  • 如何在 SlickGrid 中创建合并单元格?

    是否可以在 SlickGrid 中创建合并单元格 如果没有 那么还有哪些其他 JavaScript 网格解决方案允许合并单元格 如果您的意思是跨越多个列的单元格 则通过 colspan 支持 如本示例所示 http mleibman git
  • Angular slickgrid 不显示在动态选项卡(ngx-bootstrap 选项卡集)内

    我正在使用 Angular Slickgrid 在选项卡内显示表格数据 我有一个 html 页面 其中两个选项卡是静态的 也正确显示数据 其他选项卡是从最后的专用选项卡动态创建的 这基本上是从输入构建查询 当您保存选项卡时 它将创建一个新选
  • WPF UserControl 设计时间大小

    在 WPF 中创建 UserControl 时 我发现给它一些任意的高度和宽度值很方便 以便我可以在 Visual Studio 设计器中查看我的更改 但是 当我运行该控件时 我希望未定义高度和宽度 以便控件将展开以填充我放置它的任何容器
  • SlickGrid 2.0 无法更改奇数索引中的行背景颜色

    我正在尝试使用以下代码更改背景颜色 data getItemMetadata function index if index 5 return cssClasses Unverified 只要索引是偶数 它就可以完美工作 但对于奇数索引 它
  • 将 WPF 控件设置为扩展以填充可用空间,仅此而已

    如何设置 WPF 控件来填充其父级容器中的可用空间 但不展开父级 以下代码片段描述了我正在尝试的布局 我想要Grid伸展以适应Expander 我想要ListBox只为了填补Grid 我想要ListBox的滚动条出现时Grid太小 无法显示
  • Slickgrid 水平滚动条覆盖最后一行

    当 Slickgrid 包含在div具有固定宽度和水平滚动条变得必要 该滚动条覆盖最后一行数据 http jsfiddle net ericjohannsen LtsvJ http jsfiddle net ericjohannsen Lt
  • javafx.scene.control.TableColumn 无法转换为 javafx.scene.control.TableColumn$CellDataFeatures

    我在填充 javafx tableview 时遇到问题 我目前正在开发一个基于 GUI 的事件管理工具 适用于大学 并且我一直在尝试填充 Tableview 列表 该列表应该位于边框窗格布局的中心 这是我的代码 它很长的想法 它的主窗口函数
  • slickgrid 标题的 Colspan 和 rowspan

    我只是想知道是否有一种方法可以为标题提供 colspan rowspan 并具有多个标题行 网格提供了一个辅助标题行 您可以用它来做任何您需要做的事情 检查here https github com mleibman SlickGrid w
  • 如何在slickgrid中进行多列分组?

    我是 slickgrid 的新手 我已经浏览了一些 slickgrid 的例子 并且基础知识很好 我有一个场景 我需要基于多列进行分组 但 slickgrid 分组是基于单列 如何在 slickgrid 中完成多列分组 并在每个组上具有展开
  • 如何在SQLite中获取ROWID?

    考虑这个简单的表 tbl1 A first letter B second letter C third letter 第一列是letter第二列是desc 我可以毫无问题地执行此查询 select from tbl1 where lett
  • 在 slickgrid 上调用排序

    在 slickgrid 中 我可以使用以下命令设置排序列及其排序方向grid SetSortColumn colName true false 这仅设置排序字形 但不进行排序 有没有办法调用排序事件处理程序 我已经定义了排序处理程序 例如g
  • 我的 self.view 尺寸错误

    我的视图尺寸错误 我仅运行横向 但视图报告纵向尺寸 视图宽度 768 000000 高度 1024 000000 有任何想法如何解决这个问题吗 我尝试过使用自动旋转 BOOL shouldAutorotateToInterfaceOrien

随机推荐

  • LPARAM 和 WPARAM 的定义是什么?

    我知道我在这里很懒 我应该自己查找头文件 但是 LPARAM 和 WPARAM 参数的实际类型是什么 它们是指针还是四字节整数 我正在编写一些 C 互操作代码 并希望确保它可以在 x64 系统上运行 LPARAM是一个类型定义LONG PT
  • 使用 py2exe 打包 py 文件时出现“超出最大递归深度”

    几个月前 py2exe 在同一个 py 文件上运行得很好 但是当我今天再次尝试时 它失败了 报告了 运行时错误 超出了最大递归深度 结果我得到了一个空的 dist 文件夹 Py文件工作正常 只是无法打包 我猜py文件中导入的模块有问题 但我
  • WPF VS2013:查找资源字典时发生错误

    Team 我在 Visual Studio 2013 中有一个简单的 wpf 项目 结构如下所示 该错误所说的全部内容如标题 查找资源字典时发生错误 所示 我尝试了网上的很多建议 但已经失去耐心了 一切似乎都还好 任何对此有经验的人都可以提
  • v-for Loop 内的参考文献 vue v3.2.25 或更高版本

    我正在读vue 3 的文档我决定测试一下refs在我当地的开发环境中 我用的是vue版本3 2 31并根据设置我的项目vue官方指南 因此 为了测试组件中的 refs 我只需将代码复制并粘贴到this url那就是操场vue 网站 这意味着
  • 在 bash 中获取位置参数

    我有一个名为 foo 的 bash 脚本 其参数数量可变 第一个是必需的 即 foo a1 b2 b3 b4 我知道在 bash 中 1 会得到参数 a1 但是有没有办法得到所有其余的参数 或 似乎让我得到了所有参数 包括 a1 切片 ar
  • 通过嵌套连接选择最高的序列号

    我想为每个客户 ID 获取最大序列号 最大序列号将根据最高银行帐户余额计算 该表有100000条记录 Tables 客户端序列表 T1 ClID SeqId 1 11 1 12 1 13 1 14 1 15 2 16 2 17 2 18 2
  • C# 拖放问题

    我有一个 C NET 3 5 应用程序 允许从树中拖动项目并将它们作为文件拖放到文件夹中 这是我的代码 String absolutePathToFile get absolute path DataObject dataObject ne
  • 在我的 Ember.js 应用程序中的 localStorage.clear() 或 deleteRecord() 之后,本地存储数据被复活

    我观察到数据复活后localStorage clear or deleteRecord jsbin 示例 在我的 ember 应用程序中被调用 请按照以下步骤复制问题 打开 chrome web dev gt 资源 gt 本地存储 gt h
  • 根据单元格值脚本将行移动到另一个工作表

    希望使用脚本根据谷歌表格中的值移动单元格 在观看了一些有关基础知识的视频并使用网站上找到的代码之后 尝试使这适用于我的电子表格 这对所有这些都是超级绿色的 function doneCopy var app SpreadsheetApp v
  • Python 请求重定向登录

    这是一个网站http pro wialon com 我想使用 python requests 模块登录 登录和通过是演示 import requests with requests Session as c url http pro wia
  • 如何在 webview 中从我的资源加载图片?

    我想加载 WebView 中可绘制资源中设置的名为 map png 的图片 我在另一个答案中发现了这个建议 webview loadUrl file 但我不明白如何正确设置它 我总是收到错误消息 提示找不到所请求的文件 这是我写的 publ
  • 如何在CreateProcess实例化的命令中使用或扩展环境变量?

    下面的代码利用CreateProcess使用环境变量运行命令 在这里 它尝试运行notepad APPDATA test txt 如果我跑notepad APPDATA test txt直接在Windows CMD APPDATA 将被扩展
  • bash 中的命令替换与函数调用

    我正在从一本书中编写一个 shell 脚本 有一个示例 我正在创建一个函数并稍后调用该函数 function name 但据我所知 我可以通过编写函数名称来调用函数 那么 用函数名调用函数和用函数调用有什么区别 function name
  • 正则表达式获取以冒号分隔的键值对中的文本

    我这里有我的正则表达式示例 https regex101 com r kE9mZ7 1 对于以下字符串 key 1 一些文本 可能是逗号 以分号结尾 key 2 可能没有结束分号的文本 但也可以是 我想做如下的事情 var regEx at
  • VB CStr、CDate、CBool​​ 等与 DirectCast 进行无需转换的投射

    我通常避免使用 VB 的内置转换函数 CStr CDate CBool CInt 等 除非我需要进行实际转换 如果我只是进行转换 例如从对象到字符串 我通常使用 DirectCast 或 TryCast 假设 CStr 等正在执行一些我不需
  • 如何保存onClickListener的状态?

    我有一个实现多个 onClickListener 的程序 因此 随着用户点击按钮的进展 是否有办法保存用户在离开应用程序或被销毁之前使用的 onClick 侦听器 使用共享首选项来实现这一点 每当您单击任何按钮时 都会存储按钮名称及其值 e
  • Android 上的 idHTTP 不可接受错误 406

    我正在尝试使用 idHTTP 和 PHP 脚本在 MySQL 数据库上发布插入 这是要插入数据库的 PHP 脚本 mysqli new mysqli servidor usuario senha banco Caso algo tenha
  • 为什么我无法编译这个命令行 OpenCV Mac 应用程序?

    以下是我的步骤 1 创建命令行工具项目 OpenCV 2 在 usr local lib下的工程中添加后缀为2 4 2的文件 如 libopencv calib3d 2 4 2 dylib 3 将 usr local include 添加到
  • Kiwi 和 CocoaPods 具有静态共享库

    我有一个包含 3 个项目的工作区 MyApp Common Pods Common是MyApp依赖的公共库 我想设置 CocoaPods 和 Kiwi 以便在此项目中正常工作 我该怎么办 I found https stackoverflo
  • Slickgrid:最终列自动调整大小以使用所有剩余空间

    我正在使用 SlickGrid 并努力寻找一个优雅的解决方案来解决以下问题 所有列在首次渲染时必须具有特定的初始宽度 但之后可以调整大小 调整窗口大小时 最后一列应自动填充剩余的列空间 我见过 使一列填充 SlickGrid 中的剩余空间