using SuperMap.Data; using System; using System.Collections.Generic; using System.Data; using WeifenLuo.WinFormsUI.Docking; using WWPipeLine.MapBasic.Conditions; using WWPipeLine.MapBasic; using SuperMap.Mapping; namespace WWPipeLine.MapTools.Conditions.Statistics { public partial class GDshuliang : ConditionPanel { private LayerWithDataListPanel LayerPanel; public GDshuliang() : base() { this.ConditionPanelName = "管点数量统计"; InitializeComponent(); } protected override void OnLoad(EventArgs e) { LayerPanel = new LayerWithDataListPanel(); LayerPanel.LoadToVector(true, false); this.Controls.Add(LayerPanel); } public override object Do(DockPanel dockPanel = null) { if (LayerPanel.SelectLayers.Count == 0) { Sunny.UI.UIMessageTip.ShowError("请先选择需要查询的图层"); return false; } DataTable dt = new DataTable() { TableName = "管点数量统计结果" }; #region 一行标题,一行结果,多列 DataRow dr; dt.Columns.Add("统计图层"); foreach (Layer lyr in LayerPanel.SelectLayers) { dt.Columns.Add(lyr.Caption); } dr = dt.NewRow(); dr["统计图层"] = "管点数量"; DatasetVector dv; foreach (Layer lyr in LayerPanel.SelectLayers) { dv = lyr.Dataset as DatasetVector; dr[lyr.Caption] = dv.RecordCount; } dt.Rows.Add(dr); #endregion #region 一行标题 一列结果 多行 //DataRow dr; //dt.Columns.Add("统计图层"); dt.Columns.Add("管点数量"); //DatasetVector dv; //foreach (Layer lyr in LayerPanel.SelectLayers) //{ // dr = dt.NewRow(); // dr["统计图层"] = lyr.Caption; // dv = lyr.Dataset as DatasetVector; // dr["管点数量"] = dv.RecordCount; // dt.Rows.Add(dr); //} #endregion return dt; } } }