C# IObjects 打开属性表

0 投票

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

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();
}

5月 16 分类:  56次浏览 | 用户: 青夜 初出茅庐 (48 分)

1个回答

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);
5月 18 用户: 胡延南 名扬四海 (3,232 分)
采纳于 6月 28 用户:青夜
...