Why is my EXTJS Combobox displaying small list items?

  • Context: JavaScript 
  • Thread starter Thread starter iamjon.smith
  • Start date Start date
  • Tags Tags
    Javascript
Click For Summary

Discussion Overview

The discussion revolves around an issue with an EXTJS Combobox where the list items appear too small when displayed. Participants explore potential causes and solutions related to the data being inserted into the store and the configuration of the Combobox.

Discussion Character

  • Technical explanation
  • Debate/contested

Main Points Raised

  • One participant describes the setup of a Combobox and the process of populating its store with data after an AJAX call.
  • Another participant suggests inspecting the code and adjusting font sizes as a potential solution to the display issue.
  • A later reply identifies that the problem was due to inserting a string into the store instead of an object, which was necessary for proper functionality.
  • One participant expresses appreciation for the resolution provided, highlighting the importance of sharing solutions in forum discussions.

Areas of Agreement / Disagreement

Participants do not reach a consensus on the initial cause of the display issue, but there is agreement on the solution involving the correct data structure for the store.

Contextual Notes

The discussion does not clarify whether other potential causes for the small list items were considered or ruled out, and it is unclear if font size adjustments would have resolved the issue independently of the data structure correction.

iamjon.smith
Messages
117
Reaction score
3
I am creating the following combobox:
Code:
//stations store
  var stationStore = Ext.create('Ext.data.Store', {
      id: 'stationStore',
      fields:[{name: 'station'}]
  });

the store is build on app load, and is empty to start. At this point the combobox is hidden Once the user runs a search and the ajax call is successful, the returndata is processed and all of the stations are added to the store in the success callback:

Code:
 success: function (data) {
                  for (var i = 0; i < data.length; i++) {
                      var store = Ext.StoreMgr.lookup("stationStore");
                      store.insert(i, data[i].stationID);
                  }
                  console.log('success');
              },

Code:
// Create the combo box, attached to the stations data store
  var stationCombo = Ext.create('Ext.form.ComboBox', {
      id: 'stationCombo',
      emptyText: 'Choose Station',
      store: stationStore,
      queryMode: 'local',
      displayField: 'station',
      valueField: 'station',
      hidden: true
  });
  tb.add(stationCombo);

The combobox is then displayed and the user is able to select a station from the list. The store has data added into it, and the list is populated, but when you click the dropdown, the list items are so small it looks like a line when you select from the list...

upload_2016-2-9_16-41-52.png
 
Technology news on Phys.org
I figured out what the problem was, so in case someone else runs across this post, here is the fix...
JavaScript:
success: function (data) {                 
   for (var i = 0; i < data.length; i++) {                     
      var store = Ext.StoreMgr.lookup("stationStore");                     
      store.insert(i, {'station' : data[i].stationID});  //<--This line was wrong, the store takes an object, not a string
   }                  console.log('success');             
},

the store takes an OBJECT. I was trying to insert a string, so it was getting the values, but the store couldn't handle just the string. Changing the insert to insert an object instead of a string fixed the problem.
 
  • Like
Likes   Reactions: Borg and jedishrfu
THanks for posting your solution too! So many times threads are left dangling without answers.
 
  • Like
Likes   Reactions: Borg

Similar threads

  • · Replies 10 ·
Replies
10
Views
3K
  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 9 ·
Replies
9
Views
4K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 3 ·
Replies
3
Views
3K