| 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("自动匹配");
- }
- }
- }
- }
- }
|