Esempio n. 1
0
        /// <summary>
        /// 获取唯一值和相应数目
        /// </summary>
        /// <param name="fieldName">字段</param>
        /// <returns></returns>
        public UniqueValueAndCount GetUniqueValueAndCount(string fieldName)
        {
            //判断是否存在属性表
            IUniqueValues uniqueValues = IsFloatRasterLayer()
                ? GetFloatValueAndCount(rasterLayer)
                : GetTableValueAndCount(rasterLayer, fieldName);
            //获取唯一值和相应数目
            UniqueValueAndCount uniqueValueCount = new UniqueValueAndCount();

            for (int i = 0; i < uniqueValues.Count; i++)
            {
                uniqueValueCount.AddValue(uniqueValues.UniqueValue[i]);
                uniqueValueCount.AddCount(uniqueValues.UniqueCount[i]);
            }
            uniqueValueCount.UniqueValue.Sort();
            return(uniqueValueCount);
        }
Esempio n. 2
0
        /// <summary>
        /// 添加数据到表格视图
        /// </summary>
        /// <param name="valAndCount">值和数目</param>
        /// <param name="dgView">数据表格视图</param>
        public static void AddDataToGridView(UniqueValueAndCount valAndCount, DataGridView dgView)
        {
            DataTable table = new DataTable();

            table.Columns.Add("Value");
            table.Columns.Add("Count");
            for (int i = 0; i < valAndCount.UniqueValue.Count; i++)
            {
                DataRow dr = table.NewRow();
                dr["Value"] = valAndCount.UniqueValue[i];
                dr["Count"] = valAndCount.UniqueCount[i];
                table.Rows.Add(dr);
            }
            dgView.DataSource          = null;
            dgView.DataSource          = table;
            dgView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
        }