| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- using DevExpress.Xpo;
- using DevExpress.XtraEditors;
- using Ips.Library.Basic;
- using Ips.Library.Entity;
- 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;
- namespace Ips.Sps.Sigs
- {
- public partial class SigSelectForm : DevExpress.XtraEditors.XtraForm
- {
- public SigSelectForm()
- {
- InitializeComponent();
- }
- public SigSelectForm(SignalCategory? category, SignalType? sigType) : this()
- {
- _cateory = category;
- _sigType = sigType;
- }
- Session _session;
- SignalCategory? _cateory;
- SignalType? _sigType;
- List<Signal> _signalList;
- public List<Signal> SelectSigList { get; private set; } = new List<Signal>();
- private void SigSelectForm_Load(object sender, EventArgs e)
- {
- Realod();
- }
- private void Realod()
- {
- _session = new Session();
- _signalList = _session.Query<Signal>()
- .WhereIf(_cateory.HasValue, m => m.SigCategory == _cateory)
- .WhereIf(_sigType.HasValue, m => m.SigType == _sigType)
- .OrderBy(m => m.SigCategory)
- .ThenBy(m => m.SigFreq)
- .ThenBy(m => m.BandWidth)
- .ToList();
- bsSigList.DataSource = _signalList;
- }
- private void btnOk_Click(object sender, EventArgs e)
- {
- SelectSigList.Clear();
- var rowHandles = gvSigList.GetSelectedRows();
- foreach (var rowHandle in rowHandles)
- {
- var sig = gvSigList.GetRow(rowHandle) as Signal;
- if (sig == null) continue;
- SelectSigList.Add(sig);
- }
- this.DialogResult = DialogResult.OK;
- Close();
- }
- private void gvSigList_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
- {
- if (e.Column == colAdjaSatIds && e.DisplayText.IsNullOrWhitespace())
- e.DisplayText = "自动匹配";
- else if (e.Column == colSigFreq)
- {
- var signal = _signalList[e.ListSourceRowIndex];
- if (signal.SigCategory == Library.Entity.SignalCategory.SctSig)
- {
- e.DisplayText = $"[{signal.FreqStart}-{signal.FreqEnd}]-({signal.FreqStep}kHz)";
- }
- }
- }
- }
- }
|