繁体   English   中英

分组标题列大小

Grouped Header Column size

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有一个分组标题网格。 网格定义可以在这里找到。

结果看起来像这样。

在此输入图像描述

我希望所有列的空间相等,包括分组标题内的列。 我究竟做错了什么?

3 个回复

Ext JS目前不支持此行为。 我有同样的问题。 这不是一个真正的错误,因为源代码明确指出你不能这样做,但它似乎是网格的最大缺点之一(紧靠锁定列)。

我的解决方案是覆盖4.1.0中的Ext.grid.ColumnLayout#completeLayout方法。 这是确定子项(列)宽度的位置。 您基本上要做的是获取网格可用的总宽度(可通过提供的布局/上下文对象获得)并在所有叶子列上手动转换flex-> width。 然后,对于每组列,您可以对计算的宽度求和并设置父宽度。 completeLayout方法中执行此操作意味着它在每个布局期间自动运行,因此您不必在观看调整大小事件等时进行调整。

有了一个好的调试器和相当的耐心,你可以搞清楚。 我想发布一个代码示例,但我的解决方案大约有100行,是我工作代码的一部分。 我仍然可以指出一些警告:

  1. 如果您只需要支持2个级别的标题,请不要费心使整个方法递归3个级别。 YAGNI。

  2. 注意隐藏的列。 我相信有一个错误,隐藏的组头没有在子列上设置隐藏属性。 我最常见的一个问题是,显示一个专栏会以奇怪的方式改变一切。

  3. 注意未密封的团体。 我通过使每个柱密封来解决这个问题,但如果能够自由移动柱是您的要求的一部分,那么您可能需要采取额外的步骤。

老实说,最好的解决方案是在Sencha论坛上将此文件作为功能请求提交,并询问他们为什么Ext JS库中仍然不存在这样一个重要功能。

编辑:发布源代码到Sencha支持论坛

如果您想像其他子列一样使用子列,例如,您有2列具有固定宽度,并且分组列应该像flex( 自动宽度 )的列一样,您需要编写一个自己的函数来执行此操作调整大小。

它只有两行: sencha的例子

说明:您需要向网格添加resize事件侦听器,并在函数内部调整子列的大小

网格监听器:

listeners: {
    resize: function(grid) {
        // you need to add and itemId for the sub columns parent
        var subCols = grid.getView().getHeaderCt().child('#sub-cols');
        // 200 = sum of the fixed width of columns
        subCols.setWidth(grid.getWidth() - 200);
    }
}

网格列:

{
    text: 'sub columns',
    itemId: 'sub-cols',
    columns: [{
        text: 'Email',
        dataIndex: 'email',
        flex: 1
     }, {
        text: 'Phone',
        dataIndex: 'phone',
        flex: 1
     }]
}

您试图将分组列flex设置为小4倍(注释0.25值),但实际上不应该实际大4倍?

Extjs flex

4 具有分组标题/列(超级标题)的网格

我想实现以下目标: 我需要显示特定日期的约会/事件列表,但按位置分组。 \n 我想显示日期和位置,即使没有事件也是如此(只是空网格,所以我可以在其中添加自己的事件)。 我打算使用DataGrid或ListBox / ListVi ...

2019-05-15 09:12:01 1 39   wpf
6 将多列具有不同大小的输入分组

我需要显示大量输入。 我正在尝试将它们浓缩成类似的组。 我拥有的第一组将在3列中有6个输入,但是第三个输入框很大,因此我希望下一行输入与较大的文本框的底部对齐。 表格布局 我试图浮动它们,列出它们,使用一个表,但是都没有成功 我看了很多CSS代码段,但无法弄清楚如何获得此布局。 ...

2017-08-09 19:28:00 1 33   html/ css
7 Python Pandas:按列和组大小分组

我有这个熊猫数据框: 并且需要按 column1 对其进行分组,但如果该组有 2 个以上的元素,则将其划分。 然后应用 ngroup 函数,结果为: ...

8 如何更改列标题文本大小

我正在使用DataGrid并且想更改列标题的文本大小(例如,此处的名称应为20 pix) 我怎样才能做到这一点? 我尝试了以下方法,但没有找到很高的标准 ...

9 ListView列标题液体大小?

我有一个WinForm应用程序,其中包含列表视图。 我希望能够做的是每当窗口变大或变小时,最右边的列调整大小(宽度)。 这可能吗? 如果是这样,它由哪个属性控制? ...

10 二维图的分组列标题

有没有办法在MATLAB中使用分组标题创建热图(或任何图表)? 在Excel中,您将使用合并单元格,请参见下文。 在MATLAB中,当我在标题中使用\\newline时,它看起来不是很专业。 最小的可重现示例: 我如何居中第二行? ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM