2010-01-07 5 views
1

У меня есть ComboBox с удаленным магазином json.Как выбрать конкретную запись из магазина в ComboBox (ExtJS)

Он позволяет пользователю вводить 3 + символа, затем запрашивать, отображать список и позволяет пользователю выбрать один из вариантов. Когда пользователь выбирает параметр, он использует файл Ext.data.Record, связанный с выбранным параметром, для заполнения других полей в другом месте формы. Это работает правильно.

Теперь я хочу иметь возможность предварительно заполнить указанные поля, используя функции, которые я уже написал как часть поля со списком. То, что я придумал, заключается в том, чтобы добавить «искусственную запись» в магазин ComboBox, а затем принудительно выбрать его, что вызовет все правильные функции и заполнит другие поля и т. Д.

Что у меня есть, это функция внутри ComboBox (я создал обычай один за простирающейся ComboBox):

loadRecord : function(record){ 
    var data = { 
     "results":1, 
     "rows":[ 
      record 
     ] 
    } 

    this.store.loadData(data); // I realize I could just use store.add() instead. 

    alert(this.store.getCount()); // returns 1, so the record is in 

    // Here is where I'd need to make a call to select this record. 
} 

Я попытался this.select() и this.selectByValue(), но безрезультатно. Знание записи в магазине, какой правильный способ выбрать ее из кода?

Заранее спасибо.

ответ

2

вы пытались combo.fireEvent('click', combo, record, index)?

1

Как об этом:

record = this.store.getAt(1); 
+0

Привет, Спасибо за ваш ответ. getAt() вернет мне отчет, но у меня уже есть запись. Мне нужно обмануть весь ComboBox, полагая, что пользователь выбрал указанную запись. Я нашел работу, которая работает в моем конкретном случае, но она не слишком изящна, и мне все равно хотелось бы узнать, существует ли более общий подход. Еще раз спасибо. – SuitedSloth

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