(Auto Fit All Columns) of ListGrid's Context Menu 拉伸SmartGWT中的Row number

(Auto Fit All Columns) of ListGrid's Context Menu stretches the Row number in SmartGWT

我不确定这是预期的行为还是错误。 当行号列设置为显示时,从上下文菜单中选择(自动适合所有列)会拉伸该列 到 ListGrid 的末尾。

虽然我们的应用程序存在问题,但 ShowCase 有(网格 > 外观 > 行编号) 同样的问题。

final ListGrid countryGrid = new ListGrid();  
countryGrid.setWidth(500);   
countryGrid.setHeight(224);  
countryGrid.setShowAllRecords(true);  
countryGrid.setShowRowNumbers(true);

如果您在应用自动调整之前更改列宽,它会正常运行。

有人遇到过同样的问题吗?

有什么解决方法吗?

如果不进一步查看您的代码(例如,应用于列表网格、字段类型和预期内容的其他宽度和自动调整相关配置),很难知道这是否是预期行为。尽管我同意,通过查看演示,这至少是一种奇怪的行为。

但这就是我在 ListGrid 中所做的,以将行号保持在我想要的大小:

// this field is created only as a way to define the row number field properties
ListGridField rowNumberFieldProps = new ListGridField();
rowNumberFieldProps.setWidth(50);
rowNumberFieldProps.setCanAutoFitWidth(true);
rowNumberFieldProps.setAutoFitWidthApproach(AutoFitWidthApproach.VALUE);
grid.setRowNumberFieldProperties(rowNumberFieldProps);
grid.setShowRowNumbers(true);

一些注意事项:

  • 因为我希望显示很多记录(因此,行号很大),所以我使用适合我的数字的行号列宽(在我的例子中是 50)。
  • 请注意,即使使用 'Auto Fit All Columns',setCanAutoFitWidth(false) 也会使行号字段的大小固定。在您的情况下,这可能是一个好方法。如果这样做,您可以简单地删除带有 setAutoFitWidthApproach.
  • 的行
  • setCanAutoFitWidth(true)setAutoFitWidthApproach 帮助我控制使用 'Auto Fit All Columns' 上下文菜单时发生的情况。在我的例子中,当我的行号超过 99.999 时,我确实希望自动调整适用于扩展列宽(这对我来说不是最常见的情况,但可能)。