using DevExpress.Mvvm.Native; using DevExpress.XtraEditors.Repository; namespace Yw.WinFrmUI { public partial class SetHydroMarkCtrl : DevExpress.XtraEditors.XtraUserControl { public SetHydroMarkCtrl() { InitializeComponent(); this.gridView1.SetNormalEditView(); this.colCatalogName.OptionsColumn.AllowEdit = false; this.gridView1.CustomRowCellEdit += GridView1_CustomRowCellEdit; } //所有绑定列表 private BindingList _allBindingList = null; /// /// 绑定数据 /// public void SetBindingData(List allSetList) { _allBindingList = new BindingList(); allSetList?.ForEach(x => { _allBindingList.Add(x); }); this.hydroMarkSetViewModelBindingSource.DataSource = _allBindingList; this.hydroMarkSetViewModelBindingSource.ResetBindings(false); } /// /// 获取设置列表 /// public List GetSetList() { return _allBindingList?.ToList(); } //自定义 private void GridView1_CustomRowCellEdit(object sender, DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventArgs e) { var row = this.gridView1.GetRow(e.RowHandle) as HydroMarkSetViewModel; if (row == null) { return; } if (e.Column == this.colPropName) { var repositoryItem = new RepositoryItemImageComboBox(); var dict = HydroMarkPropHelper.GetDict(row.Catalog); dict?.ForEach(x => repositoryItem.Items.Add(x.Value, x.Key, -1)); e.RepositoryItem = repositoryItem; } } } }