This article was translated by machine. To view in the article in English, select the English check box. You can also display the English text in a popup window by moving the mouse pointer over the text.
الترجمة
الأصلي
This documentation is archived and is not being maintained.

IHierarchyData.HasChildren الخاصية

Visual Studio 2010

الإشارة إلى ما إذا كانت العقدة بيانات الهرمية التي IHierarchyDataيمثل كائن يحتوي على أي فرع العقد.

مساحة الاسم:  System.Web.UI
التجميع:  System.Web (في System.Web.dll)

bool HasChildren { get; }

قيمة الخاصية

النوع: System.Boolean
true إذا كان للعقدة الحالي فرع العقد؛ وإلاfalse.

HasChildren الخاصية هو خاصية ذلك يتيح للمتصلين لتجنب يتم الآن التدقيق من القيمة الإرجاع GetChildrenأسلوب null. إذا HasChildrenإرجاع خاصية true، الاتصال GetChildrenأسلوب لاسترداد IHierarchicalEnumerableمجموعة من العقد التابعة.

يوضح المثال تعليمات برمجية التالي كيفية استخدام عنصر تحكم حدود بيانات هرمية في ASP.NET IHierarchyDataالكائن في بيانات العودية-حدود. أسلوب عناصر الموجودة في IHierarchicalEnumerableالمجموعة التي تم تعدادها، و لكل IHierarchyDataالكائن هو استرداد باستخدام GetHierarchyDataالأسلوب. وأخيراً، HasChildrenالخاصية هو التحقق لمعرفة ما إذا كان ل recurse. هذا مثال للتعليمة البرمجية هي جزء من مثال أكبر متوفر لفئة HierarchicalDataBoundControl.


private void RecurseDataBindInternal(TreeNode node, 
    IHierarchicalEnumerable enumerable, int depth) {                                    

    foreach(object item in enumerable) {
        IHierarchyData data = enumerable.GetHierarchyData(item);

        if (null != data) {
            // Create an object that represents the bound data
            // to the control.
            TreeNode newNode = new TreeNode();
            RootViewNode rvnode = new RootViewNode();

            rvnode.Node = newNode;
            rvnode.Depth = depth;

            // The dataItem is not just a string, but potentially
            // an XML node or some other container. 
            // If DataTextField is set, use it to determine which 
            // field to render. Otherwise, use the first field.                    
            if (DataTextField.Length > 0) {
                newNode.Text = DataBinder.GetPropertyValue
                    (data, DataTextField, null);
            }
            else {
                PropertyDescriptorCollection props = 
                    TypeDescriptor.GetProperties(data);

                // Set the "default" value of the node.
                newNode.Text = String.Empty;                        

                // Set the true data-bound value of the TextBox,
                // if possible.
                if (props.Count >= 1) {                        
                    if (null != props[0].GetValue(data)) {
                        newNode.Text = 
                            props[0].GetValue(data).ToString();
                    } 
                }
            }

            Nodes.Add(rvnode);                    

            if (data.HasChildren) {
                IHierarchicalEnumerable newEnumerable = 
                    data.GetChildren();
                if (newEnumerable != null) {                            
                    RecurseDataBindInternal(newNode, 
                        newEnumerable, depth+1 );
                }
            }

            if ( _maxDepth < depth) _maxDepth = depth;

        }
    }
}


نظام التشغيل Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, الإصدار x64 من نظام التشغيل Windows XP Professional, Windows XP Starter Edition, Windows Server 2008, نظام التشغيل Windows Server 2003, نظام التشغيل Windows Server 2000 المزود بحزمة الخدمة SP4, نظام التشغيل Windows Millennium Edition, نظام التشغيل Windows 98

لا يدعم .NET Framework و .NET Compact Framework كافة الإصدارات الخاصة بكل نظام أساسي. للحصول على قائمة بالإصدارات المدعمة، راجع متطلبات النظام إطار عمل .NET.

.NET Framework

مدعوم في: 4, 3.5, 3.0, 2.0
إظهار: