2011-06-16 14 views
5

Bir dataview (explorer penceresi) bir ağaçla (dizin ağacı) eşzamanlamaya çalışıyorum. benim DataView'deki bir öğeyi tıkladığınızda, ben aynı düğüm istiyorum ağacınextjs 4 ağaç Dahili kimliğiyle belirli bir düğümü seçin (kayıt dizinine göre değil)

sorun seçili alır olduğunu ( tree.getSelectionModel().select(index) bana iç id tarafından düğümü seçmek için izin vermez kullanarak Ben sadece kayıt endeksi ile sağladım ... Bu yüzden her iki görüntüyü de eşzamanlayamıyorum ... expandPath() 'ın çözümü olurdu, ama benim treetore'um bir ilişkisel veritabanı (id, isim, parent_id vb.), bu yüzden tam yol bulmak sunucu için ağır bir yüktür (veya olabilir) (Ben herhangi bir yol sağlamak zorunda kalmaktan kaçınmak istiyorum ...).

Temelde söylemek mümkün olmak istiyorum "düğümünü burada 'id =' (veya treestore başka anahtar/değer).

herhangi bir geçici çözüm var mı? Mümkün müdür?

beni okuduğunuz için teşekkür ederiz

cevap

9

tree.getSelectionModel() bir dizin yerine bir kayıt örneği kabul edebilir (kayıt) fonksiyonunu seçmek böyle bir şey yapacağını:!..

var record = tree.getRootNode().findChild('id_name','record_id',true); 
tree.getSelectionModel().select(record); 

findChild fonksiyonu hakkında daha fazla bilgi için, buraya NodeInterface docs kontrol: Ayrıca bunun için selecteditemtree.data.id kullanabilirsiniz http://docs.sencha.com/ext-js/4-0/#/api/Ext.data.NodeInterface-method-findChild

0

.

İlgili konular