Combobox lub datepicker są wstrzykiwane tylko po kliknięciu komórki, po prostu nie istnieją w siatce przed kliknięciem. Sposób zmiany wyglądu komórki polega na użyciu renderera w kolumnie. W ten sposób można dodać fałszywy triggerbox jako obraz tła lub coś w tym stylu.
W odpowiedzi na Twój komentarz, oto jak można to zrobić:
{
xtype: 'gridcolumn',
renderer: function(value, metaData, record, rowIndex, colIndex, store, view) {
metaData.tdCls = 'fake-combo';
return value;
},
text: 'MyColumn8',
editor: {
xtype: 'combobox',
store: ...
}
}
studiować docs dla wszystkich opcji renderujący. Istnieją różne klasy, które możesz określić i jakie atrybuty będą używane przez DomHelper. Klasa css może mieć obraz tła, ale musisz tu eksperymentować. Nie będzie łatwo uzyskać spójny układ z tym, co chcesz zrobić, ale masz pełny dostęp do elementu div, który jest renderowany do komórki. Pamiętaj, by sprawdzić wyniki za pomocą narzędzia Firebug lub Chrome Dev Tools, dzięki czemu zobaczysz dokładnie, co się stanie.
Chociaż można zrzutu ekranu combobox i ustawić go jako obraz tła. Lepiej jednak nie próbuj tworzyć combobox w rendererze, tak nie działa. Posiadanie prawdziwego combobox dla każdego wiersza jest niestandardowe i może mieć wpływ na wydajność, jeśli masz dużo wierszy.
ale jeśli używasz renderera, czy mimo to zwraca obiekt będący kombinacją lub datą xtype? – freestyle
Jak umieścić wybory użytkownika w tym polu kombi? – PedroD