Article View: alt.pl.comp.lang.csharp
Article #10064Re: Zachowanie stanu w TreeView
From: Hilarion
Date: Thu, 17 Nov 2005 14:08
Date: Thu, 17 Nov 2005 14:08
35 lines
3213 bytes
3213 bytes
>> Które "break"? Wewnętrzny "break" jak zmienisz na "continue", to pętla "foreach" >> przeglądnie wszystkie węzły zamiast zatrzymać się po znalezieniu właściwego. >> Jak wyrzucisz drugi - bardziej zewnętrzny - to zewnętrzna pętla "for" będzie >> "szukać" kolejnego poziomu w sytuacji kiedy nie znaleziono bieżącego. >> Co znaczy "wyskoczy"? Po jakich dwóch? Dwóch poziomach? Dwóch węzłach danego >> poziomu? Jesteś pewien, że wyszukiwany "path" jest do znalezienia? >> > > Generalnie nie jest kolorowo w ogole, w opisywanej sytuacji chodzilo mi o ten "pierwszy break", po zamianie odnajduje mi do 4 > poziomow wglab danego TreeNoda (z breakiem do 3) - niestety nie zalatwia mi to problemu - mam do 6 poziomow w roznych Nodach. > Wazne jest takze dobre "zrobienie" samego zachowywania Patchy - tzn. zostawianie tylko tych najglebszych w danej sciezce. > > Niestety to wciaz nie rozwiazany dla mnie problem Nie bardzo rozumiem. Podany algorytm wydaje się (bo nie analizowałem dogłębnie) docierać do węzła wskazanego przez podaną ścieżkę. Jeśli na jakimś poziomie okaże się, że nie ma podwęzła zadanego ścieżką, to się zatrzymuje. Wadą algorytmu jest to, że jeśli wśród podwęzłów danego węzła jest więcej niż jeden pasujący do podanej ścieżki, to algorytm wybierze pierwszy z nich podczas gdy ścieżka może wskazywać na drugi. W takich sytuacjach jedyne rozwiązanie to przeglądanie całego drzewa w poszukiwaniu pełnej ścieżki, a w razie nie znalezienia zwrócenie najdłuższej znalezionej. Twoja modyfikacja powoduje, że algorytm przegląda wszystkie podwęzły bieżącego (zamiast tylko do pierwszego pasującego) oraz w przypadku pasowania kilku węzłów na danym poziomie wybiera ostatni pasujący zamiast pierwszego. Może to powodować w niektórych sytuacjach docieranie głębiej, ale może też powodować docieranie płycej. Jeśli coś źle zrozumiałem, to rozwiń stwierdzenie "zostawianie tylko tych najgłębszych w danej ścieżce". Hilarion
Technical Details
Message-ID:
<dli2q9$gan$1@news.onet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!news.onet.pl!not-for-mailReferences:
<dlf3ot$gkm$1@inews.gazeta.pl> <dlf5vq$ahk$1@nemesis.news.tpi.pl> <dlg7sm$mf5$1@inews.gazeta.pl> <dlgcmv$4tr$1@atlantis.news.tpi.pl> <dlhtup$fev$1@inews.gazeta.pl> <dli12p$9rl$1@news.onet.pl> <dli1vg$76l$1@inews.gazeta.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!news.onet.pl!not-for-mail From: "Hilarion" <hilarion@SPAM.op.SMIECI.pl> Newsgroups: alt.pl.comp.lang.csharp Subject: Re: Zachowanie stanu w TreeView Date: Thu, 17 Nov 2005 15:08:09 +0100 Organization: Onet.pl Lines: 36 Message-ID: <dli2q9$gan$1@news.onet.pl> References: <dlf3ot$gkm$1@inews.gazeta.pl> <dlf5vq$ahk$1@nemesis.news.tpi.pl> <dlg7sm$mf5$1@inews.gazeta.pl> <dlgcmv$4tr$1@atlantis.news.tpi.pl> <dlhtup$fev$1@inews.gazeta.pl> <dli12p$9rl$1@news.onet.pl> <dli1vg$76l$1@inews.gazeta.pl> NNTP-Posting-Host: fw.elfin.pl Mime-Version: 1.0 X-Trace: news.onet.pl 1132236425 16727 213.25.37.46 (17 Nov 2005 14:07:05 GMT) X-Complaints-To: usenet@news.onet.pl NNTP-Posting-Date: Thu, 17 Nov 2005 14:07:05 +0000 (UTC) X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2670 X-Sender: 9KSiimrLScNqWiVTMiVMJQ== X-Newsreader: Microsoft Outlook Express 6.00.2900.2670 X-Priority: 3 X-MSMail-Priority: Normal Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit