İçeriğin rss beslemesi kullanımda değil Soru - Cevap Bölümü / Kategori: Programlama

25/08/2008 - 19:40:34 cevap (5) Okunma : 375 Bu yazıyı 1 kişi tuttu.

Flex - Tree nesnesinde eleman seçme

Selamlar;

Flex3 te tree nesnesine php üzerinden dataprovider ile veri listeletiyorum yine aynı php den gelen id değerine sahip tree deki elemanı seçmem gerekiyor nasıl yapabilirim ?

Çok araştırdım ama yeterli bir kaynak bulamadım.

Teşekkürler.

adres harunhasdal profilini göster
Harun Hasdal 26.08.2008 09:18:59
En iyi cevap mı ?

Merhaba,

Tree üzerindeki seçme işlemini yapmak için, dataProvider olarak verdiğin veriden ‘id’ ye göre seçilecek nesneyi bulman gerekir, daha sonra bulduğun nesneyi tree nesnesinin selectedItem özelliğine set edersen seçimi yapmış olursun.


Object secilecekNesne = idIleBul(id);
tree.selectedItem = secilecekNesne;

Aşağıda XML data kullanan bir örnek veriyorum. Derleyip çalıştırabilirsin. Burada bulma işlemi E4X expression kullanılarak yapılmıştır.

treeData..item.(@id == id);

Farklı veri kaynağı tipleri için sadece ‘id’ ye göre bulma işlemi farklı olacaktır.


<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
    <mx:XML id="treeData">
        <items>
            <item id="1" label="Birinci"/>
            <item id="2" label="İkinci">
                <item id="3" label="Üçüncü"/>
                <item id="4" label="Dördüncü"/>
            </item>
            <item id="5" label="Beşinci">
                <item id="6" label="Altıncı">
                    <item id="7" label="Yedinci"></item>
                </item>
            </item>
        </items>
    </mx:XML>
    <mx:Script>
        <![CDATA[
            private function selectById(id:Number):void{
                var nodes:XMLList = treeData..item.(@id == id);
                tree.selectedItem = nodes[0];
            }
        ]]>
    </mx:Script>
    <mx:Tree id="tree" dataProvider="{treeData.item}" openItems="{treeData..item}" labelField="@label" width="300" />
    <mx:NumericStepper id="numStepper" stepSize="1" maximum="7" minimum="1" value="1"/>
    <mx:Button label="Seç" click="selectById(numStepper.value)"/>
</mx:Application>
adres KiPSOFT profilini göster
KiPSOFT KiPSOFT 26.08.2008 12:48:14
En iyi cevap mı ?

Selamlar;

Öncelikle cevabınız için teşekkürler. Ben dediğini şekilde denedim fakat şu hatayı alıyorum;


 Attempted access of inaccessible property id through a reference with static type absos_web.   

Ben size kendi yapımıda aktarayım. Tree nesnem e4x sisteminde bir nesnem var ve dataprovider’ı bir php dosyası;


<mx:Tree x="10" y="10" width="379" height="365" showRoot="true" dataProvider="{kategorilistele.lastResult}" labelField="@label" change="treeChanged(event)">

Php ise şu xml yapısıyla kayıt döndürüyor;

<node label='Ana' id='0' >
 <node label='Kategori1' id='1'></node>
</node>

Benimde sizin örneğinize göre yaptığım denemeler şu şekilde;


 var nodes:XMLList = kategorilistele..node.(@id==grup);
 tree_kat.selectedItem=nodes[0];

aldigim hatada yukarida. sanirim kavrayamadım konuyu çünkü syntax biraz karmaşık geldi buradaki sistem nasıl çalışıyor ben tree deki kayıtlar içinde dönmeyi beceremedim dönebilsem selecteditem’i eşitleyebilcem.

Yanıtlarınız bekliyorum Teşekkürler

adres harunhasdal profilini göster
Harun Hasdal 26.08.2008 16:14:38
En iyi cevap mı ?

Burada kategorilistele ile isimlendirdiğin nesne sanırım bir HTTPService nesnesi. Dolayısıyla filtreleme için kullandığın e4x expression içerisinde yine lastResult kullanman gerekir. Şöyle olunca çalışması gerekir:


var nodes:XMLList = kategorilistele.lastResult..node.(@id == grup);
tree_kat.selectedItem = nodes[0];
adres KiPSOFT profilini göster
KiPSOFT KiPSOFT 01.09.2008 11:29:42
En iyi cevap mı ?

Cevap için teşekkürler. Kod çalıştı fakat şöyle bir sorun var seçimi yapmıyor. Böyle bir durumda itemleri nasıl otomatik açıp seçimi gösterebilirim.

Teşekkürler

adres harunhasdal profilini göster
Harun Hasdal 01.09.2008 11:53:24
En iyi cevap mı ?

Tree nin tanimlandigi tag de openItems property’sini set edersen, set ettigin nodelar açik olur.


<mx:Tree openItems="{kategorilistele.lastResult..node}" dataProvider="{kategorilistele.lastResult}" labelField="@label"/>

aç-kapa Bu Yazıyı Tutanlar

yeni üyelik | şifremi unuttum

aç-kapa Yarışma Fikir10000 Dijital Pazarlama Fikir Yarışması

Fikir10000 Dijital Pazarlama Fikir Yarışması

ADTECH tarafından düzenlenen Fikir10000 yarışmasına; dijital pazarlama ile ilgili size ait olan fikrinizle katılabilir ve 10.000 YTL’lik birinci...
Kategori: Yarışma

aç-kapa Toplantı Kahraman ve need4code.com Projesi Connect Toplantısı

Kahraman ve need4code.com Projesi Connect Toplantısı

Selam arkadaslar, Programlama ile uğraşanların hayatlarını kolaylaştıracak desktop ve web tabanlı ortak iki proje ile ilgili 3. toplantımızı 16Aralı...
Kategori: Toplantı

aç-kapa Yarışma 7Dx Demoscene Party

7Dx Demoscene Party

2002 yılından beri amatör bilgisayar kültürü ile ilgilenen insanları bir araya getirmeyi hedefleyen 7DX parti serisinin bu seneki ayağı olan 7D8 Demo ...
Kategori: Yarışma

aç-kapa Eğitim Türkiye'de İnternet Konferansı - Internet Teknolojileri Derneği -22-23 Aralık ODTÜ

Türkiye'de İnternet Konferansı - Internet Teknolojileri Derneği -22-23 Aralık ODTÜ

Etkin Katılım Çağrısı Türkiye’de Internet ile ilgili grupları biraraya getirerek İnternet’i tum boyutlarıyla tanıtmak, gelistirmek, tartı...
Kategori: Eğitim

aç-kapa Konferans Bilgi Güvenliği ve Kriptoloji Konferansı

Bilgi Güvenliği ve Kriptoloji Konferansı

Önemli Tarihler: Etkinlik Tarihi : 24-26 Aralık 2008 Son Bildiri Gönderme Tarihi : 20 Ekim 2008 Bildiri Kabul Tarihi Bildirimi :...
Kategori: Konferans

üyeler Son Kahramanlar...

stats Kimler Burada? web stats

Son 1 dakika içinde MMIstanbul' da 788 (1 kayıtlı, 787 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:

giomzo ...
coldfusion mysql ubuntu
 
sponsor adobe istanbul