duheng
2024-12-07 1e387f457092df846ec04e2c6792b83244aae04e
WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/15-translation/HydroTranslationListCtrl.cs
@@ -10,7 +10,9 @@
            this.gridView1.SetNormalView(30);
            this.gridView1.RegistCustomDrawRowIndicator(40);
            this.layoutControl1.SetupLayoutControl();
            InitialLinkStatus();
            this.generalSearchAndSetCtrl1.SearchEvent += Search;
            this.generalSearchAndSetCtrl1.ClearEvent += Reset;
            this.generalSearchAndSetCtrl1.SetEvent += Set;
        }
        /// <summary>
@@ -31,18 +33,6 @@
        public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent;
        /// <summary>
        /// 显示查询面板
        /// </summary>
        [Browsable(true)]
        [Description("显示查询面板")]
        [DefaultValue(true)]
        public bool ShowFindPanel
        {
            get { return this.gridView1.OptionsFind.AlwaysVisible; }
            set { this.gridView1.OptionsFind.AlwaysVisible = value; }
        }
        /// <summary>
        /// 是否拥有水力列表
        /// </summary>
        public bool HasHydroList
@@ -60,16 +50,7 @@
        /// </summary>
        public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo)
        {
            _allList = new List<HydroTranslationViewModel>();
            if (hydroInfo != null && hydroInfo.Translations != null && hydroInfo.Translations.Count > 0)
            {
                foreach (var visual in hydroInfo.Translations)
                {
                    var vm = new HydroTranslationViewModel(visual, hydroInfo);
                    _allList.Add(vm);
                }
            }
            Search();
            SetBindingData(hydroInfo, allCalcuResultVisualDict: null);
        }
        /// <summary>
@@ -77,13 +58,22 @@
        /// </summary>
        public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, List<HydroCalcuVisualResult> allCalcuResultList)
        {
            var allCalcuResultVisualDict = allCalcuResultList?.ToDictionary(x => x.Code);
            SetBindingData(hydroInfo, allCalcuResultVisualDict);
        }
        /// <summary>
        /// 绑定数据
        /// </summary>
        public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict)
        {
            _allList = new List<HydroTranslationViewModel>();
            if (hydroInfo != null && hydroInfo.Translations != null && hydroInfo.Translations.Count > 0)
            {
                foreach (var visual in hydroInfo.Translations)
                {
                    var vm = new HydroTranslationViewModel(visual, hydroInfo);
                    var calcuResult = allCalcuResultList?.Find(x => x.Code == visual.Code);
                    var calcuResult = allCalcuResultVisualDict?.GetValue(visual.Code);
                    if (calcuResult != null)
                    {
                        vm.UpdateCalcuProperty(calcuResult);
@@ -102,7 +92,7 @@
            _allList = new List<HydroTranslationViewModel>();
            allVisualViewModelList?.ForEach(x =>
            {
                if (x.Catalog == HydroParterCatalogHelper.GetName(Yw.Hydro.ParterCatalog.Translation))
                if (x.Vmo.Catalog == Yw.Hydro.ParterCatalog.Translation)
                {
                    _allList.Add(x as HydroTranslationViewModel);
                }
@@ -182,13 +172,22 @@
        /// </summary>
        public void UpdateCalcuProperty(List<HydroCalcuVisualResult> allCalcuResultList)
        {
            if (allCalcuResultList != null && allCalcuResultList.Count > 0)
            var allCalcuResultVisualDict = allCalcuResultList?.ToDictionary(x => x.Code);
            UpdateCalcuProperty(allCalcuResultVisualDict);
        }
        /// <summary>
        /// 更新计算属性
        /// </summary>
        public void UpdateCalcuProperty(Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict)
        {
            if (allCalcuResultVisualDict != null && allCalcuResultVisualDict.Count > 0)
            {
                if (_allList != null && _allList.Count > 0)
                {
                    foreach (var visual in _allList)
                    {
                        var calcuResult = allCalcuResultList.Find(x => x.Code == visual.Code);
                        var calcuResult = allCalcuResultVisualDict.GetValue(visual.Code);
                        if (calcuResult != null)
                        {
                            visual.UpdateCalcuProperty(calcuResult);
@@ -258,24 +257,7 @@
            dlg.ShowDialog();
        }
        //查询
        private void btnSearch_Click(object sender, EventArgs e)
        {
            Search();
        }
        //重置
        private void btnReset_Click(object sender, EventArgs e)
        {
            Reset();
        }
        //设置
        private void btnSet_Click(object sender, EventArgs e)
        {
            Set();
        }
        //行单元格点击事件
        private void gridView1_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e)
        {
            var row = this.gridView1.GetRow(e.RowHandle) as HydroTranslationViewModel;
@@ -304,7 +286,6 @@
            }
        }
        /// <summary>
        /// 设置简单显示模式
        /// </summary>
@@ -315,18 +296,19 @@
            this.colName.Visible = true;
            this.colCode.Visible = true;
            this.colModelType.Visible = true;
            this.colLinkStatus.Visible = false;
            this.colMaterial.Visible = true;
            this.colDiameter.Visible = true;
            this.colLength.Visible = false;
            this.colLength.Visible = true;
            this.colRoughness.Visible = false;
            this.colMinorLoss.Visible = false;
            this.colCalcuFlow.Visible = false;
            this.colCalcuVelocity.Visible = false;
            this.colCalcuHeadLoss.Visible = false;
            this.colHasDb.Visible = false;
            this.colFlags.Visible = true;
            this.colDescription.Visible = true;
            this.colCalcuFrictionLoss.Visible = false;
            this.colCalcuMinorLoss.Visible = false;
            this.colCalcuHeadLoss.Visible = false;
            this.colCalcuVelocity.Visible = false;
            this.colCalcuFlow.Visible = false;
            this.colSet.Visible = false;
        }
@@ -340,7 +322,6 @@
            this.colName.Visible = true;
            this.colCode.Visible = true;
            this.colModelType.Visible = true;
            this.colLinkStatus.Visible = true;
            this.colMaterial.Visible = true;
            this.colDiameter.Visible = true;
            this.colLength.Visible = true;
@@ -365,32 +346,32 @@
            this.colName.Visible = true;
            this.colCode.Visible = true;
            this.colModelType.Visible = true;
            this.colLinkStatus.Visible = true;
            this.colMaterial.Visible = true;
            this.colDiameter.Visible = true;
            this.colLength.Visible = true;
            this.colRoughness.Visible = true;
            this.colMinorLoss.Visible = true;
            this.colCalcuFlow.Visible = true;
            this.colCalcuVelocity.Visible = true;
            this.colCalcuHeadLoss.Visible = true;
            this.colHasDb.Visible = true;
            this.colFlags.Visible = true;
            this.colDescription.Visible = true;
            this.colCalcuFlow.Visible = true;
            this.colCalcuVelocity.Visible = true;
            this.colCalcuHeadLoss.Visible = true;
            this.colCalcuMinorLoss.Visible = true;
            this.colCalcuFrictionLoss.Visible = true;
            this.colSet.Visible = true;
        }
        /// <summary>
        /// 设置批量设置模式
        /// 设置批量模式
        /// </summary>
        public void SetBulkSetView()
        public void SetBulkView()
        {
            this.groupForHead.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always;
            this.colDbLocked.Visible = true;
            this.colName.Visible = true;
            this.colCode.Visible = true;
            this.colModelType.Visible = true;
            this.colLinkStatus.Visible = true;
            this.colMaterial.Visible = true;
            this.colDiameter.Visible = true;
            this.colLength.Visible = true;
@@ -405,17 +386,28 @@
            this.colSet.Visible = true;
        }
        //初始化管段状态
        private void InitialLinkStatus()
        /// <summary>
        /// 设置结果视图
        /// </summary>
        public void SetResultView()
        {
            this.imgCmbLinkStatus.Properties.BeginUpdate();
            this.imgCmbLinkStatus.Properties.Items.Clear();
            this.imgCmbLinkStatus.Properties.Items.Add("全部", string.Empty, -1);
            this.imgCmbLinkStatus.Properties.Items.Add(HydroLinkStatusHelper.GetStatusName(Yw.Hydro.LinkStatus.Open), Yw.Hydro.LinkStatus.Open, -1);
            this.imgCmbLinkStatus.Properties.Items.Add(HydroLinkStatusHelper.GetStatusName(Yw.Hydro.LinkStatus.Closed), Yw.Hydro.LinkStatus.Closed, -1);
            this.imgCmbLinkStatus.Properties.EndUpdate();
            this.groupForHead.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
            this.colDbLocked.Visible = true;
            this.colName.Visible = true;
            this.colCode.Visible = true;
            this.colModelType.Visible = true;
            this.colMaterial.Visible = true;
            this.colDiameter.Visible = true;
            this.colLength.Visible = true;
            this.colRoughness.Visible = true;
            this.colMinorLoss.Visible = true;
            this.colHasDb.Visible = true;
            this.colFlags.Visible = true;
            this.colDescription.Visible = true;
            this.colCalcuFlow.Visible = true;
            this.colCalcuVelocity.Visible = true;
            this.colCalcuHeadLoss.Visible = true;
            this.colSet.Visible = false;
        }
    }
}