תג ארכיון: Treeview

עבודה עם TreeNodeBinding ב ASP.פקד NET Treeview

אני עובד על מה אני מקווה יהיה בקרוב שפורסמו CodePlex project מספק קצת משולב נחמד של web parts מדבר זה לזה באמצעות חיבורי ספק/הצרכן כדי לחקור את אתר SharePoint במצעים.  (זה בהחלט עשו לפני, אבל זה פרוייקט למידה ככל דבר אחר).  זה נועד לשמש תחליף תצוגת סייר windows SharePoint 2010 ספריות מסמכים.

הקוד יש רקורסיבית הרגיל התקשר למטה של SPWeb והצבע SPLists הפעלה נתון.  האובייקט אינה כל זה מושכים בונה מחרוזת XML אשר נראית כך:

<כתובת url של sitecollection =’http://demo2010a:9090′>
 
<אינטרנט
     כותרת = 'שלום עולם החול' 
     תבנית =' אתר המאפשר לצוותים לארגן במהירות, מחבר, ושיתוף של מידע, BLAH דבר BLAH'>

     <רשימת
        כותרת ='BCC_Health_Services_FAQs’
        תבנית ='CustomList’
       
listid =’http://demo2010a:9090/helloworldsandbox[delim]1e02b001-3cb2-4f17-b63d-7809e86b4174′>
    
</רשימת>

     <רשימת
        כותרת = 'BCC_Notifications' 
        תבנית = 'CustomList' 
        listid =’
http://demo2010a:9090/helloworldsandbox[delim]5a5a13d1-877 c-41 c 0-9063-b9612be80d5e’>
     </רשימת>

  </אינטרנט>

</sitecollection>

ציפיתי לנקות מעלה כי ה-XML לפני כל הוא אמר, לעשות.

ברצוני לקבל מידע זה בסופו של דבר למעלה, לתוך פקד Treeview.  לא בדיוק אדמה דברים shattering.

האתגר שלקחתי כאן היה להתחבר בתצוגת העץ פקד מקור נתונים XML במקום באופן ידני ולהכשיר פריטי treenodes שלי כפי לי לעבור את העץ.  עשיתי זאת משום אני בכוונה מציג דברים קשים יותר על עצמי (זהו פרויקט למידה אחרי הכל) משום שיש לי מושג מעורפל זה בונה את צמתי העץ כפי לי לעבור את העץ אינו רעיון טוב לטווח ארוך.

הבעיה בגישה זו היא הפקד Treeview אינו יודע אודות תכונות טובות הצמתים מעניינים כמו "רשימה" או "אתר" ולכן הוא מציג פלט זה כברירת מחדל:

 

image

זו אינה שימושית.  היא מסייעת המחלקה TreeNodeBinding בו.  אפשר להשתמש זה לספר הפקד Treeview כיצד הוא צריך לפרש את ה-XML.  הנה דוגמה:

tnb = TreeNodeBinding חדש();
tnb.DataMember = "רשימה"; // זהו תווית ה-xml עבור אתר.
tnb.TargetField = "listid";
tnb.ValueField = "כותרת";
tnb.ToolTipField = "תבנית";

איגוד זה מספר treeview כי כאשר הוא מוצא <רשימת> צומת ב- XML, החל האיגודים עבור TargetField, ValueField, ToolTipField.  במאי יישום, אלה למפות באופן הבא:

  • TargetField: כאשר מישהו לוחץ על ערך צומת, זהו מה תקבל עבור SelectedNode.Value.  זהו לבלבל עם...
  • ValueField: זהו מה ברצונך Treeview כדי להציג למשתמש.
  • ToolTipField: ערך ה-XML הרצוי כתיאור.

להוסיף TreeNodebinding איגודי נתונים של תצוגת העץ, באפשרותך לקבל פלט כמו זה:

 

image

לי יותר על כל זה אני להמשיך בפרוייקט, בסופו של דבר להקים זה ב- Codeplex.

</קצה>

מנוי על הבלוג שלי.

עקוב אחרי הטוויטר ב http://www.twitter.com/pagalvin