GDshuliang.cs 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using SuperMap.Data;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Data;
  5. using WeifenLuo.WinFormsUI.Docking;
  6. using WWPipeLine.MapBasic.Conditions;
  7. using WWPipeLine.MapBasic;
  8. using SuperMap.Mapping;
  9. namespace WWPipeLine.MapTools.Conditions.Statistics
  10. {
  11. public partial class GDshuliang : ConditionPanel
  12. {
  13. private LayerWithDataListPanel LayerPanel;
  14. public GDshuliang() : base()
  15. {
  16. this.ConditionPanelName = "管点数量统计";
  17. InitializeComponent();
  18. }
  19. protected override void OnLoad(EventArgs e)
  20. {
  21. LayerPanel = new LayerWithDataListPanel();
  22. LayerPanel.LoadToVector(true, false);
  23. this.Controls.Add(LayerPanel);
  24. }
  25. public override object Do(DockPanel dockPanel = null)
  26. {
  27. if (LayerPanel.SelectLayers.Count == 0)
  28. {
  29. Sunny.UI.UIMessageTip.ShowError("请先选择需要查询的图层"); return false;
  30. }
  31. DataTable dt = new DataTable() { TableName = "管点数量统计结果" };
  32. #region 一行标题,一行结果,多列
  33. DataRow dr;
  34. dt.Columns.Add("统计图层");
  35. foreach (Layer lyr in LayerPanel.SelectLayers)
  36. {
  37. dt.Columns.Add(lyr.Caption);
  38. }
  39. dr = dt.NewRow(); dr["统计图层"] = "管点数量";
  40. DatasetVector dv;
  41. foreach (Layer lyr in LayerPanel.SelectLayers)
  42. {
  43. dv = lyr.Dataset as DatasetVector;
  44. dr[lyr.Caption] = dv.RecordCount;
  45. }
  46. dt.Rows.Add(dr);
  47. #endregion
  48. #region 一行标题 一列结果 多行
  49. //DataRow dr;
  50. //dt.Columns.Add("统计图层"); dt.Columns.Add("管点数量");
  51. //DatasetVector dv;
  52. //foreach (Layer lyr in LayerPanel.SelectLayers)
  53. //{
  54. // dr = dt.NewRow();
  55. // dr["统计图层"] = lyr.Caption;
  56. // dv = lyr.Dataset as DatasetVector;
  57. // dr["管点数量"] = dv.RecordCount;
  58. // dt.Rows.Add(dr);
  59. //}
  60. #endregion
  61. return dt;
  62. }
  63. }
  64. }