duheng
2025-03-28 e411302bca8857e102443a5250c82b9580ef07a3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
using DevExpress.XtraEditors.Controls;
 
namespace Yw.WinFrmUI
{
    public partial class HydroAccuracyListCtrl : DevExpress.XtraEditors.XtraUserControl
    {
        public HydroAccuracyListCtrl()
        {
            InitializeComponent();
            this.gridView1.SetNormalView(30);
            this.gridView1.RegistCustomDrawRowIndicator(40);
 
        }
 
        /// <summary>
        /// 边框可见性
        /// </summary>
        public bool BorderVisible
        {
            get
            {
                return this.gridView1.BorderStyle != BorderStyles.NoBorder;
            }
            set
            {
                this.gridView1.BorderStyle = value ?
                    BorderStyles.Default :
                    BorderStyles.NoBorder;
            }
        }
 
        private List<HydroAccuracyItemViewModel> _allBindingList = null;//所有绑定列表
 
        /// <summary>
        /// 绑定数据
        /// </summary>
        public void SetBindingData(List<HydroAccuracyItemViewModel> allBindingList)
        {
            _allBindingList = allBindingList;
            if (_allBindingList == null)
            {
                _allBindingList = new List<HydroAccuracyItemViewModel>();
            }
            this.hydroAccuracyItemViewModelBindingSource.DataSource = _allBindingList;
            this.hydroAccuracyItemViewModelBindingSource.ResetBindings(false);
        }
 
        //自定义单元格
        private void gridView1_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
        {
            var row = this.gridView1.GetRow(e.RowHandle) as HydroAccuracyItemViewModel;
            if (row == null)
            {
                return;
            }
            if (e.Column == this.colMonitorValue || e.Column == this.colCalcuValue)
            {
                if (e.CellValue != null)
                {
                    e.DisplayText = $"{e.CellValue}{row.UnitName}";
                }
            }
            if (e.Column == this.colEvaluateError)
            {
                if (e.CellValue != null)
                {
                    e.DisplayText = $"{e.CellValue}%";
                    e.Appearance.ForeColor = Color.Red;
                }
            }
        }
 
 
    }
}