using DevExpress.XtraEditors;
|
using HStation.Vmo;
|
using System;
|
using System.Collections.Generic;
|
using System.ComponentModel;
|
using System.Data;
|
using System.Drawing;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using System.Windows.Forms;
|
using System.Windows.Input;
|
using Yw;
|
|
namespace HStation.WinFrmUI
|
{
|
public partial class PhartDiagramRelationGridViewCtrl : DevExpress.XtraEditors.XtraUserControl
|
{
|
public PhartDiagramRelationGridViewCtrl()
|
{
|
InitializeComponent();
|
this.gridView1.SetNormalView();
|
this.gridView1.RegistCustomDrawCell(Color.BurlyWood, Color.White);
|
}
|
|
private List<PhartDiagramRelationGridItemViewModel> _allBindingList = null;//所有绑定列表
|
|
private string _objectType;
|
|
public Action<List<PhartDiagramRelationExtensionsVmo>> SelectDataEvent;
|
|
/// <summary>
|
/// 绑定数据
|
/// </summary>
|
public async void SetBindingData(string objectType, long objectId)
|
{
|
_objectType = objectType;
|
var allList = await BLLFactory<HStation.BLL.PhartDiagramRelation>.Instance.GetByObjectTypeAndObjectID(objectType, objectId);
|
SetBindingData(allList);
|
gridView1_FocusedRowChanged(null, null);
|
}
|
|
/// <summary>
|
/// 绑定数据
|
/// </summary>
|
public void SetBindingData(List<PhartDiagramRelationVmo> allList)
|
{
|
_allBindingList = new List<PhartDiagramRelationGridItemViewModel>();
|
allList?.OrderBy(x => x.SortCode).ToList().ForEach(x => _allBindingList.Add(new PhartDiagramRelationGridItemViewModel(x)));
|
this.phartDiagramRelationGridItemViewModelBindingSource.DataSource = _allBindingList;
|
this.phartDiagramRelationGridItemViewModelBindingSource.ResetBindings(false);
|
}
|
|
//行点击事件
|
private void gridView1_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e)
|
{
|
if (e.Column == this.colCurve)
|
{
|
var row = this.gridView1.GetRow(e.RowHandle) as PhartDiagramRelationGridItemViewModel;
|
if (row == null)
|
{
|
return;
|
}
|
var dlg = new PhartDiagramRelationCurveViewDlg();
|
dlg.SetBindingData(row.Vmo);
|
dlg.ShowDialog();
|
}
|
}
|
|
//行变化事件
|
private async void gridView1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
|
{
|
var vm = this.gridView1.GetCurrentViewModel(_allBindingList);
|
if (vm == null)
|
return;
|
var list = await new BLL.PhartDiagramRelation().GetExByObjectTypeAndObjectID(_objectType, vm.Vmo.ObjectID);
|
SelectDataEvent.Invoke(list);
|
}
|
}
|
}
|