| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 | using DevExpress.Xpo;using DevExpress.XtraBars;using DevExpress.XtraEditors.Controls;using Ips.Library.Basic;using Ips.Library.Entity;using Ips.Sps.Emts;using Ips.Sps.IfeScans;using Ips.Sps.Maps;using Ips.Sps.Sats;using Ips.Sps.Tsks;using System.Data;namespace Ips.Sps.DxSigs{    public partial class DxSigListCtrl : DevExpress.XtraEditors.XtraUserControl    {        public DxSigListCtrl()        {            InitializeComponent();        }        public string CtrlCaption        {            get => txtListCaption.Caption;            set => txtListCaption.Caption = value;        }        private DxSignalType? SigType { get; set; } = null;        private bool ShowEditBar { get; set; } = true;        private IList<Sat> SatList { get; set; }        private XPBaseCollection sigList { get; set; }        private Session _session { get; set; }        private string _defaultMainAdjaSatText;        private TskAdCard _adCard;        private List<Sat> _adSatList        {            get            {                if (_adCard != null)                {                    var adSatIds = _adCard.Channels.SelectMany(m => m.GetSatIds()).ToList();                    var adSatList = SatList.Where(m => adSatIds.Contains(m.Oid)).ToList();                    return adSatList;                }                return null;            }        }        private void grdSigList_Load(object sender, EventArgs e)        {        }        public void SetSigProperties(DxSignalType? sigType, bool showEditBar, IList<Sat> sats)        {            SigType = sigType;            ShowEditBar = showEditBar;            SatList = sats;            InitCtrl();        }        public void SetDataSource(XPBaseCollection sigList)        {            _session = sigList.Session;            this.sigList = sigList;            bsDxSigList.DataSource = sigList;            InitCtrl();        }        public void SetAdCardInfo(TskAdCard adCard)        {            _adCard = adCard;        }        public void SetDefaultSatText(string adjaSatsText)        {            adjaSatEdit.NullText = _defaultMainAdjaSatText = adjaSatsText;        }        private void InitCtrl()        {            barSigEdit.Visible = ShowEditBar;            gvSigList.OptionsBehavior.Editable = ShowEditBar;            bsSatList.DataSource = SatList;            colOid.Visible = false;            colSigType.Visible = true;            colRemark.Visible = !ShowEditBar;            colSigFreqText.Visible = false;        }        private void btnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)        {            gvSigList.AddNewRow();        }        private void btnDelete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)        {            var selectRows = gvSigList.GetSelectedRows();            if (selectRows.Length > 0)            {                gvSigList.DeleteSelectedRows();            }            else if (gvSigList.FocusedRowHandle >= 0)            {                gvSigList.DeleteRow(gvSigList.FocusedRowHandle);            }        }        private void gvSigList_InitNewRow(object sender, DevExpress.XtraGrid.Views.Grid.InitNewRowEventArgs e)        {            if (SigType.HasValue)            {                gvSigList.SetRowCellValue(e.RowHandle, colSigType, SigType);            }            if (_adCard != null)            {                var adSatIds = _adCard.Channels.SelectMany(m => m.GetSatIds()).ToList();                var adSatList = SatList.Where(m => adSatIds.Contains(m.Oid)).ToList();                if (adSatList.IsNotNullOrEmpty())                {                    adjaSatEdit.DataSource = adSatList;                }            }        }        private void gvSigList_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)        {            if (e.Column == colAdjaSatIds)            {                if (e.DisplayText.IsNullOrWhitespace())                {                    e.DisplayText = _defaultMainAdjaSatText.IfNullOrWhitespace("自动匹配");                }            }        }    }}
 |