c#+dev-Treelist控件的简单用法

来源:互联网 发布:android软件开发语言 编辑:程序博客网 时间:2024/05/16 10:45

treelist树形控件是DEV中一个常用和十分重要的控件,也是一个难点,这里简单介绍treelist的初始化和赋值,完成treelist控件的基本使用。
treelist控件的使用步骤包括两部分组成,一是初始化,一是赋数据源。
其初始化就是对treelist的列进行初始化,示例代码如下:

   /// <summary>        /// 初始化树        /// </summary>        private void InitTree()        {            treeList_PointFeatures.OptionsBehavior.Editable = false;//是否可编辑            treeList_PointFeatures.BeginInit();            TreeListColumn pTreeListColumn = treeList_PointFeatures.Columns.Add();            pTreeListColumn.FieldName = "FID";            pTreeListColumn.Caption = "FID";            pTreeListColumn.VisibleIndex = treeList_PointFeatures.Columns.Count;            pTreeListColumn = treeList_PointFeatures.Columns.Add();            pTreeListColumn.FieldName = "LayerName";            pTreeListColumn.Caption = "图层名称";            pTreeListColumn.VisibleIndex = treeList_PointFeatures.Columns.Count;            pTreeListColumn = treeList_PointFeatures.Columns.Add();            pTreeListColumn.FieldName = "LayerType";            pTreeListColumn.Caption = "图层类型";            pTreeListColumn.VisibleIndex = treeList_PointFeatures.Columns.Count;            treeList_PointFeatures.EndInit();        }

接着进行赋数据源,这里采用AppendNode直接增加节点的方法,进行赋值,其示例代码如下:

 /// <summary>        /// 绑定树(直接增加节点)        /// </summary>        /// <param name="pFeatureLayer"></param>        private void BindTree(IFeatureLayer pFeatureLayer)        {            if (pFeatureLayer != null)            {                IFeatureClass pFeatureClass = pFeatureLayer.FeatureClass;                if (pFeatureClass != null)                {                    treeList_PointFeatures.Nodes.Clear();                    IQueryFilter pQueryFilter = new QueryFilterClass();                    IFeatureCursor pFeatureCursor = pFeatureClass.Search(pQueryFilter, false);                    IFeature pFeature = pFeatureCursor.NextFeature();                    while (pFeature != null)                    {                        TreeListNode pNode = treeList_PointFeatures.AppendNode(new object[] { pFeature.OID, pFeatureClass.AliasName }, null);                        pFeature = pFeatureCursor.NextFeature();                    }                    System.Runtime.InteropServices.Marshal.ReleaseComObject(pFeatureCursor);                    System.Runtime.InteropServices.Marshal.ReleaseComObject(pQueryFilter);                }            }        }

示例代码的运行结果如下:
显示结果

0 0