namespace Yw.WinFrmUI
|
{
|
public partial class HydroVisualSearchListCtrl : DevExpress.XtraEditors.XtraUserControl
|
{
|
public HydroVisualSearchListCtrl()
|
{
|
InitializeComponent();
|
this.layoutControl1.SetupLayoutControl();
|
this.gridView1.SetNormalView();
|
this.searchControl1.SetSearchSettings(Search, Recover);
|
}
|
|
/// <summary>
|
/// 水力点击信息事件
|
/// </summary>
|
public event Action<Yw.Model.HydroVisualInfo> HydroClickInfoEvent;
|
|
/// <summary>
|
/// 水力点击视图事件
|
/// </summary>
|
public event Action<HydroVisualViewModel> HydroClickViewEvent;
|
|
/// <summary>
|
/// 水力查询信息事件
|
/// </summary>
|
public event Action<List<Yw.Model.HydroVisualInfo>> HydroSearchInfoEvent;
|
|
/// <summary>
|
/// 水力查询视图事件
|
/// </summary>
|
public event Action<List<HydroVisualViewModel>> HydroSearchViewEvent;
|
|
//所有数据
|
private List<HydroVisualViewModel> _allList = null;
|
//所有绑定列表
|
private List<HydroVisualViewModel> _allBindingList = null;
|
|
/// <summary>
|
/// 初始化数据
|
/// </summary>
|
public void InitialData(List<HydroVisualViewModel> allVisualViewModelList)
|
{
|
_allList = allVisualViewModelList;
|
}
|
|
/// <summary>
|
/// 绑定数据
|
/// </summary>
|
public void SetBindingData(string content)
|
{
|
this.searchControl1.EditValue = content;
|
Search(null, null);
|
}
|
|
//查询
|
private void Search(object sender, EventArgs e)
|
{
|
var condition = this.searchControl1.Text.Trim();
|
if (string.IsNullOrEmpty(condition))
|
{
|
return;
|
}
|
_allBindingList = _allList;
|
_allBindingList = _allBindingList?.Where(x => (!string.IsNullOrEmpty(x.Code) && x.Code.Contains(condition))
|
|| (!string.IsNullOrEmpty(x.Name) && x.Name.Contains(condition))
|
|| (!string.IsNullOrEmpty(x.Catalog) && x.Catalog.Contains(condition))
|
|| (!string.IsNullOrEmpty(x.ModelType) && x.ModelType.Contains(condition))
|
).ToList();
|
if (_allBindingList == null)
|
{
|
_allBindingList = new List<HydroVisualViewModel>();
|
}
|
|
this.hydroVisualViewModelBindingSource.DataSource = _allBindingList;
|
this.hydroVisualViewModelBindingSource.ResetBindings(false);
|
this.HydroSearchInfoEvent?.Invoke(_allBindingList.Select(x => x.Vmo).ToList());
|
this.HydroSearchViewEvent?.Invoke(_allBindingList.ToList());
|
}
|
|
//覆盖
|
private void Recover(object sender, EventArgs e)
|
{
|
_allBindingList = new List<HydroVisualViewModel>();
|
this.hydroVisualViewModelBindingSource.DataSource = _allBindingList;
|
this.hydroVisualViewModelBindingSource.ResetBindings(false);
|
this.HydroSearchInfoEvent?.Invoke(null);
|
this.HydroSearchViewEvent?.Invoke(null);
|
}
|
|
//行点击事件
|
private void gridView1_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
|
{
|
var row = this.gridView1.GetRow(e.RowHandle) as HydroVisualViewModel;
|
if (row == null)
|
{
|
return;
|
}
|
this.HydroClickInfoEvent?.Invoke(row.Vmo);
|
this.HydroClickViewEvent?.Invoke(row);
|
}
|
|
|
}
|
}
|