您的位置:首页 > 编程语言 > C#

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

2016-09-27 16:34 465 查看
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);
}
}
}


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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# treelist 控件 dev