2016-07-04 1 views
1

Я не уверен, должно ли это быть ожидаемым поведением или является ошибкой. Когда отображается столбец «Число строк», выбор из контекстного меню («Автоматически назначать все столбцы») растягивает столбец до конца ListGrid.(Auto Fit All Columns) контекстного меню ListGrid растягивает номер строки в SmartGWT

У меня есть проблема в нашем приложении, но у ShowCase есть (Grids> Appearance> Row Numbering) та же проблема.

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

Если вы измените ширину столбца перед тем, как применять автоматическую подгонку, он ведет себя нормально.

У кого-то была такая же проблема?

Есть ли обходной путь?

ответ

1

Не смотря далее на ваш код (например, другие настройки ширины и автоподстройки, применяемые к сетке списка, типам полей и ожидаемому содержимому), трудно узнать, является ли это ожидаемым поведением. Хотя я согласен, глядя на демо, что это по крайней мере странное поведение.

Но это то, что я делаю в моих 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 в моем случае).
  • Обратите внимание, что setCanAutoFitWidth(false) оставит поле номера строки фиксированным в размере, даже если используется «Автоматическая установка всех столбцов». Вероятно, это хороший подход в вашем случае. Если вы это сделаете, вы можете просто удалить строку с setAutoFitWidthApproach.
  • setCanAutoFitWidth(true) и setAutoFitWidthApproach помогите мне контролировать, что происходит, когда я использую контекстное меню «Автоматическое определение всех столбцов». В моем случае я хочу, чтобы автозаполнение применялось для расширения ширины столбца, когда у меня есть номера строк за 99.999 (не самый распространенный случай для меня, но возможно).
+0

это не сработало в начале, когда я применил ваш код к своему элементу ListGird. После того, как я перешел в проблему, я понял, что ее нужно добавить, прежде чем добавить listgrid в родительский. работает отлично. Большое спасибо .... – Rguroo

+0

@Rguroo Я рад, что это сработало. Не забудьте отметить ответ, как принято, если вы сочтете это полезным. – carlossierra

+0

carlossierra, я новичок в переполнении стека, как я могу это сделать? Вы решили большую проблему в нашем приложении. Удивительное решение ... – Rguroo

Смежные вопросы