zoukankan      html  css  js  c++  java
  • C#:将空间数据加载到树视图控件

           自己 整理了 下 代码 测试了下 还行。。。


        #region 操作树视图控件 /// <summary> /// 自定义需要的类型 /// </summary> enum DatasetType { DTFeatureClass, DTFeatureDataset, DTTable, DTRasterCatalog, DTRasterDataset, DTMosaicDataset, DatasetTypeNum } /// <summary> /// 自定义需要的类型字符串名 /// </summary> public static string[] NodeNames = { "要素类", "特性表", "影像目录", "影像数据集", "镶嵌数据集" }; /// <summary> /// 将工作空间内数据加入到树形控件 /// </summary> /// <param name="pWorkSpace">工作空间</param> /// <param name="treeView">属性控件</param> public static void LoadWorkSpaceData(IWorkspace pWorkSpace, TreeView treeView) { if (null == pWorkSpace && null == treeView) { return; } try { if (treeView.Nodes != null) { treeView.Nodes.Clear(); } string server = pWorkSpace.ConnectionProperties.GetProperty("server").ToString(); string user = pWorkSpace.ConnectionProperties.GetProperty("user").ToString(); string database = pWorkSpace.ConnectionProperties.GetProperty("database").ToString(); TreeNode pRootNode = new TreeNode(); pRootNode.Text = server + "." + user + "." + database; pRootNode.Tag = pWorkSpace; treeView.Nodes.Add(pRootNode); for (int i = 0; i < (int)DatasetType.DatasetTypeNum; i++) { TreeNode nodeParent = new TreeNode(NodeNames[i]); pRootNode.Nodes.Add(nodeParent); DatasetType dst = (DatasetType)i; nodeParent.Tag = dst; IEnumDatasetName datasetNames = null; switch (dst) { case DatasetType.DTFeatureClass: datasetNames = pWorkSpace.get_DatasetNames(esriDatasetType.esriDTFeatureClass); break; case DatasetType.DTFeatureDataset: datasetNames = pWorkSpace.get_DatasetNames(esriDatasetType.esriDTFeatureDataset); break; case DatasetType.DTTable: datasetNames = pWorkSpace.get_DatasetNames(esriDatasetType.esriDTTable); break; case DatasetType.DTRasterCatalog: datasetNames = pWorkSpace.get_DatasetNames(esriDatasetType.esriDTRasterCatalog); break; case DatasetType.DTRasterDataset: datasetNames = pWorkSpace.get_DatasetNames(esriDatasetType.esriDTRasterDataset); break; case DatasetType.DTMosaicDataset: datasetNames = pWorkSpace.get_DatasetNames(esriDatasetType.esriDTMosaicDataset); break; } FillTreeNode(nodeParent, datasetNames); } } catch (Exception ex) { MessageBox.Show("将空间内的数据加载到树视图控件失败!" + ex.Message); } } /// <summary> /// 依据数据集添加新节点 /// </summary> /// <param name="parentNode">父节点</param> /// <param name="enumDSName">数据集项</param> public static void FillTreeNode(TreeNode parentNode, IEnumDatasetName enumDSName) { try { IDatasetName dsName = enumDSName.Next(); while (dsName != null) { String drcNameStr = dsName.Name; String drcShortName = LayerHelper.GetClassShortName(drcNameStr); TreeNode drcNode = new TreeNode(drcShortName); drcNode.Tag = dsName; parentNode.Nodes.Add(drcNode); dsName = enumDSName.Next(); } } catch (System.Exception ex) { throw ex; } } #endregion
  • 相关阅读:
    MyImages
    【优惠&正版】超级硬盘数据恢复软件(SuperRecovery)7.1正版注册码(39元一机终身授权,支持最新版)
    【2020年4月24日】TTradmin v2.3.2 简单好用的临时远程协助软件
    Radmin Center 1.54 测试版
    VS2015 编译原版 tightvnc 2.8.27 源码
    Centos 安装 Go 编译环境
    GHO文件安装到Vmware的两种姿势
    Radmin Server v3.5.2.1 汉化破解绿色版,完整版+精简版【20190505更新】
    系统服务监视、系统服务守护 ServiceMonitor
    API Monitor v2.0 Alpha-r13 (32+64) 汉化版
  • 原文地址:https://www.cnblogs.com/shenchao/p/3680859.html
Copyright © 2011-2022 走看看