Рад са ТрееНодеБиндинг у АСП.НЕТ ТрееВиев контроле

Радио сам на оно што се надам да ће бити ускоро објављен- ЦодеПлек пројекат који пружа леп интегрисану веб мало делова причају једни са другима преко провајдера / потрошач веза за потребе истраживања СхареПоинт локацији испод покривача.  (То је свакако учињено пре, али ово је учење пројекат колико све друго).  То је требало да буде замена за Виндовс Екплорер погледу СхареПоинт 2010 библиотеке докумената.

Код садржи уобичајену рекурзивни позив надоле СПВеб је и СПЛистс из дате почетне тачке.  Објекат који чини све да попречно гради КСМЛ стринг која изгледа отприлике овако:

<ситецоллецтион урл =’хттп://демо2010а:9090′>
 
<мрежа
     титле = 'Хелло Ворлд Сандбок' 
     Шаблон = 'сајт за тимове за брзо организовати, аутор, и деле информације, Бла бла бла ">

     <списак
        титле = 'БЦЦ_Хеалтх_Сервицес_ФАКс’
        Шаблон = 'ЦустомЛист’
       
ЛистИд =’хттп://демо2010а:9090/хелловорлдсандбок[удео]1e02b001-3cb2-4f17-b63d-7809e86b4174′>
    
</списак>

     <списак
        титле = 'БЦЦ_Нотифицатионс' 
        Шаблон = 'ЦустомЛист' 
        ЛистИд =’
хттп://демо2010а:9090/хелловорлдсандбок[удео]5а5а13д1-877ц-41ц0-9063-б9612бе80д5е’>
     </списак>

  </мрежа>

</ситецоллецтион>

Очекујем да се очисти тај КСМЛ пре него је све речено и учињено.

Желим да на крају добили ту информацију и горе у ТрееВиев контроле.  Није баш земља разбијање ствари.

Изазов сам овде био да се повеже приказ стабла у КСМЛ података Извор контроле уместо ручно изградње моје треенодес док сам прећи на дрво.  Ја сам то делимично зато што ја намерно правим ствари теже на себи (ово је учење пројекат после свега) делом и због тога што имам нејасну представу која гради стабло чворова као ја путују стабло није добра идеја за дугорочно.

Проблем са овим приступом је да ТрееВиев контрола не зна о добрим атрибутима о занимљивим чворова као што су "листу" или "Веб", тако да ово показује излаз подразумевано:

 

image

То није корисно.  Ово је место где ТрееНодеБиндинг класа помаже.  Ја то могу да кажем ТрееВиев контроле како би требало да тумаче КСМЛ.  Ево пример:

ТНБ = нев ТрееНодеБиндинг();
tnb.DataMember = "list"; // Ово је ознака у КСМЛ за сајт.
tnb.TargetField = "listid";
tnb.ValueField = "title";
tnb.ToolTipField = "Template";

Ово обавезујуће говори ТрееВиев да када утврди <списак> чвор у КСМЛ, примењују везова за ТаргетФиелд, ВалуеФиелд и ТоолТипФиелд.  У мају апп, Ово мапа на следећи начин:

  • ТаргетФиелд: Када неко кликне на чвор вредности, то је оно што ћете добити за СелецтедНоде.Валуе.  Ово не треба мешати са ...
  • ВалуеФиелд: То је оно што желите да прикажете ТрееВиев кориснику.
  • ТоолТипФиелд: Вредност из КСМЛ који желите као Тоолтип.

Додајте на то ТрееНодебиндинг ДатаБиндингс приказу и добијете излаз овако:

 

image

Имаћу више на све ово, као што сам и даље на пројекту и на крају стави ово на ЦодеПлек.

</крај>

Претплатите се на мој блог.

Следите ме на Туиттер на http://www.twitter.com/pagalvin

3 мисли о "Рад са ТрееНодеБиндинг у АСП.НЕТ ТрееВиев контроле

  1. Типе: Tweets that mention Working With TreeNodeBinding in the ASP.NET Treeview Control « Paul Galvin's SharePoint Space -- Топси.цом

  2. Holger

    Здраво Павле,

    I just checked that myself. It worked as far as you described that even if I don’t get that information from your site (what a pity :-)).
    The point I am interested in is, I tried to make the structure lazy loading with the PopulateOnDemand property. Otherwise the treeview load the complete structure in a whole which I would like to avoid. This property PopulateOnDemand seems not to have any effect.

    Also the treeview does not save any expand/ collapse state information.

    Did you solve these issues?

    Поздрав

    Holger

Леаве а Репли

Ваша емаил адреса неће бити објављена. Обавезна поља су означена *