SuperMap-访问数据集中纯属性表

访问数据源中的纯属性数据表,得到某一字段的值

supermap中的数据集主要有下面几种类型,经验证纯属性表属于SuperMap.Data..::.DatasetVector类型,其实现过程如下:

SuperMap-访问数据集中纯属性表_第1张图片

1)得到属性表所在的数据源

2)得到属性表的数据集

3)遍历属性表中的记录

4)得到指定字段的最值

5)将最值显示出来

   //访问数据集中属性表
   //获取属性表
            DataTable dt1 = new DataTable();
            SuperMap.Data.Datasets objDts = _wspace.Workspace.Datasources["ChinaClimate"].Datasets;
            SuperMap.Data.Dataset objDt = objDts["全国省会城市气象数据"];
            SuperMap.Data.DatasetVector objDtv = (SuperMap.Data.DatasetVector)objDt;
           //转成recordset类型,然后遍历该记录集合得到日期,存入dt1中
            SuperMap.Data.Recordset recordset = objDtv.GetRecordset(false, CursorType.Dynamic);
            dt1.Columns.Add("日期");
            recordset.MoveFirst();
            dt1.Rows.Add(recordset.GetFieldValue("日期"));
            while (recordset.MoveNext()==true)
            {
                dt1.Rows.Add(recordset.GetFieldValue("日期"));
            }
            //得到dt1中日期字段列的最大值和最小值即可
            if (dt1.Rows.Count > 0)
            {
                string maxSV = dt1.AsEnumerable().Select(t => t.Field("日期")).Max();
​
                string minSV = dt1.AsEnumerable().Select(t => t.Field("日期")).Min();
                uiLabel1.Text = "从:" + minSV.ToString();
                uiLabel2.Text = "至" + maxSV.ToString();
​
            }
  

其效果如下

SuperMap-访问数据集中纯属性表_第2张图片

注意:这里日期的字段类型应为字符串型

你可能感兴趣的:(旧,c#)