No announcement yet.
  • Filter
  • Time
Clear All
new posts

    SmartGWT ComboBoxItem widget is not scrolling to the selected picklist row, when we have scrollable content

    We're using SmartGWT Enterprise version 13.0-p20230901.

    We are using the com.smartgwt.client.widgets.form.fields.ComboBoxItem Item.

    We have created the below ComboBoxItem and set it for a ListGrid Field.

    ComboBoxItem item = new ComboBoxItem();

    Now, when we open the open the picker of the ComboBoxItem by clicking the arrow, the picker opens and the previous selected value is getting selected in the picklist.
    If the picklist value is in the initial portion of the picklist we are able to see the selected value. If the selected value is in a scrollable height, the picklist of ComboBoxItem is not scrolling to the selected record in the PickList. If I scroll or by pressing down arrow, I was able to see the selected value. But when the picklist is opened it mostly stays in the top of the list or in the last scrolled position.

    We tried various possibilities to make the picklist scroll, but we don't have any inbuilt method for the ComboBoxItem to scroll its picklist.

    Kindly assist us, whether any property settings might affect this behavior, or we have any other solution to make the ComboBoxItem picklist scroll to the selected value.

    A ComboBoxItem will auto-scroll to the selected row if the selected row appears in the loaded data.

    By design, we do not try to load data until we discover the selected record, as this could be any amount of data (e.g. 500,000 rows).

    Similarly, by design, we do not try to figure out the index of the selected record in the dataset and load that range, as this would potentially be a very expensive DB operation and also could not be represented as a standard fetch (no way to do it with just criteria, startRow/endRow, etc) so it would require a whole new operationType, just for this.

    If your comboBox is looking at a dataset that is just barely over the default resultSet.fetchSize, you could increase the fetchSize (via pickListProperties > dataProperties) to make it more likely that the selected record will be part of the initially loaded data.