namespace Yw.WinFrmUI
|
{
|
public partial class HydroCheckResultCtrl : DevExpress.XtraEditors.XtraUserControl
|
{
|
public HydroCheckResultCtrl()
|
{
|
InitializeComponent();
|
this.gridView1.SetNormalView(30);
|
this.gridView1.RegistCustomDrawRowIndicator(40);
|
}
|
|
/// <summary>
|
/// 点击构件事件
|
/// </summary>
|
public event Action<string> HydroClickEvent;
|
|
//所有绑定列表
|
private List<HydroCheckItemViewModel> _allBindingList = null;
|
|
/// <summary>
|
/// 绑定数据
|
/// </summary>
|
public void SetBindingData(HydroCheckResult result)
|
{
|
if (result.Succeed)
|
{
|
this.peSucceed.Image = Yw.WinFrmUI.Hydro.Core.Properties.Resources.succeed_64;
|
}
|
else
|
{
|
this.peSucceed.Image = Yw.WinFrmUI.Hydro.Core.Properties.Resources.failed_64;
|
}
|
this.txtMode.EditValue = $"{HydroCheckMode.Count()}种";
|
this.txtType.EditValue = $"{HydroCheckType.Count()}类";
|
this.txtItems.EditValue = $"{result.Items.Count}个";
|
this.txtSucceedItems.EditValue = $"{result.Items.Count(x => !x.Failed)}个";
|
this.txtFailedItems.EditValue = $"{result.Items.Count(x => x.Failed)}个";
|
|
_allBindingList = new List<HydroCheckItemViewModel>();
|
foreach (var item in result.Items)
|
{
|
var vm = new HydroCheckItemViewModel(item);
|
_allBindingList.Add(vm);
|
}
|
_allBindingList = _allBindingList.OrderBy(x => x.SortCode).ToList();
|
this.hydroCheckItemViewModelBindingSource.DataSource = _allBindingList;
|
this.hydroCheckItemViewModelBindingSource.ResetBindings(false);
|
}
|
|
//行点击
|
private void gridView1_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
|
{
|
var row = this.gridView1.GetRow(e.RowHandle) as HydroCheckItemViewModel;
|
if (row == null)
|
{
|
return;
|
}
|
this.HydroClickEvent?.Invoke(row.Code);
|
}
|
|
//自定义单元格颜色
|
private void gridView1_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
|
{
|
var row = this.gridView1.GetRow(e.RowHandle) as HydroCheckItemViewModel;
|
if (row == null)
|
{
|
return;
|
}
|
if (e.RowHandle != this.gridView1.FocusedRowHandle)
|
{
|
if (row.Succeed)
|
{
|
e.Appearance.BackColor = Color.White;
|
e.Appearance.ForeColor = Color.Black;
|
}
|
else
|
{
|
e.Appearance.BackColor = Color.Red;
|
e.Appearance.ForeColor = Color.White;
|
}
|
}
|
else
|
{
|
|
e.Appearance.BackColor = Color.FromArgb(0, 122, 204);
|
e.Appearance.ForeColor = Color.White;
|
}
|
}
|
|
|
|
|
}
|
}
|