首页 / 浏览问题 / 组件GIS / 问题详情
C# IObjects 打开属性表
48EXP 2020年05月16日

开发右键图层菜单,显示图层属性表,直接添加的数据可以显示,但是添加地图间接添加的数据不能显示,提示未将对象引用设置到对象的实例。求解答

private void toolStripMenuItemData_Click(object sender, EventArgs e)
{
WorkspaceTreeNodeBase node = workspaceControl1.WorkspaceTree.SelectedNode as WorkspaceTreeNodeBase;
WorkspaceTreeNodeDataType type = node.NodeType;
Dataset dataset = node.GetData() as Dataset;
DatasetVector datasetvector = dataset as DatasetVector;
Recordset recordset = datasetvector.GetRecordset(false, CursorType.Dynamic);
dataview Form = new dataview(recordset);
Form.Show();
}

1个回答

您好!正确写法如下:

          string datasetName = workspaceControl1.WorkspaceTree.SelectedNode.Name;
            datasources = workspace.Datasources;//获取工作空间里面的数据源集合
            datasourceConnetionInfo.Alias = workspaceControl1.WorkspaceTree.SelectedNode.Parent.Name;//通过当前选中数据集的父节点名称获得数据集所在的数据源连接信息的别名
            datasourceConnetionInfo.Server = dataSourcePath1[dataSourcesCount];//获取数据源的地址
            datasource = datasources[datasourceConnetionInfo.Alias];//获得当前选中数据集所在的数据源
            datasets = datasource.Datasets;//获取数据集集合
            dataset = datasets[datasetName];//通过当前选中数据集的名称获得该数据集
            datasetVector = datasource.Datasets[datasetName] as DatasetVector;
            //将选择集转换为记录
            Recordset recordset = datasetVector.GetRecordset(false, CursorType.Dynamic);
3,362EXP 2020年05月18日
...