| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- using DevExpress.Data;
- using DevExpress.Mvvm;
- using DevExpress.Xpo;
- using DevExpress.XtraBars;
- using DevExpress.XtraEditors;
- using DevExpress.XtraGrid.Views.Base;
- using Ips.Library.Basic;
- using Ips.Library.DxpLib;
- using Ips.Library.Entity;
- using Ips.LocAlgorithm;
- using Ips.Sps.TskResults.Commands;
- 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.TskResults.Peses
- {
- public partial class PesGridListCtrl : DevExpress.XtraEditors.XtraUserControl
- {
- public PesGridListCtrl()
- {
- InitializeComponent();
- }
- public void SetResourceList(XPCollection satList, XPCollection emtList)
- {
- bsSatList.DataSource = satList;
- bsEmtList.DataSource = emtList;
- }
- public void SetDataSource(object obj)
- {
- if (obj is System.Collections.IList)
- {
- bsPesList.DataSource = obj;
- }
- else
- {
- grdPesList.DataSource = obj;
- }
- grdPesList.RefreshDataSource();
- gvPesList.BestFitColumns();
- }
- private void gvPesList_CustomColumnDisplayText(object sender, CustomColumnDisplayTextEventArgs e)
- {
- if (e.Value == null || e.Value == NotLoadedObject.Instance) return;
- if (e.Column == colSigFreq)
- {
- e.DisplayText = ((long)e.Value).E6m().ToString("F3");
- }
- else if (e.Column == colBandWidth)
- {
- e.DisplayText = ((int)e.Value).E3m().ToString();
- }
- else if (e.Column == colEmtId)
- {
- if (Convert.ToInt32(e.Value) == 0)
- {
- e.DisplayText = "未知";
- }
- }
- else if (e.Column == colMainSatId)
- {
- if (Convert.ToInt32(e.Value) == 0)
- {
- e.DisplayText = "无";
- }
- }
- }
- private void gvPesList_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
- {
- if (e.Button == MouseButtons.Right)
- {
- var category = (SignalCategory)gvPesList.GetFocusedRowCellValue(colCategory);
- btnDrawDtoLine.Visibility = category == SignalCategory.RefSig ? BarItemVisibility.Never : BarItemVisibility.Always;
- btnDfLine.Visibility = category == SignalCategory.RefSig ? BarItemVisibility.Never : BarItemVisibility.Always;
- popMenu.ShowPopup(grdPesList.PointToScreen(e.Location));
- }
- }
- private void btnDrawDtoLine_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
- {
- DrawLine(e.Item == btnDrawDtoLine, false);
- }
- private void btnDfLine_ItemClick(object sender, ItemClickEventArgs e)
- {
- DrawLine(e.Item == btnDfLine, true);
- }
- private void DrawLine(bool hasRef, bool dfoLine)
- {
- try
- {
- MsgHelper.ShowOverlay(this);
- var pesId = (long)gvPesList.GetFocusedRowCellValue(colId);
- var cmd = DrawLineMessage.CreateByPes(pesId, hasRef, dfoLine);
- Messenger.Default.Send(cmd);
- MsgHelper.CloseOverlay();
- }
- catch (Exception ex)
- {
- MsgHelper.CloseOverlay();
- MsgHelper.ShowError("绘制时差线异常,错误消息:" + ex.Message);
- }
- }
- private async void btnPosManual_ItemClick(object sender, ItemClickEventArgs e)
- {
- var pesIds = gvPesList.GetSelectRowCellValue<long>(colId);
- var pesList = Session.DefaultSession.Query<Pes>().Where(m => pesIds.Contains(m.Id)).ToList();
- var pes1 = pesList[0];
- var pes2 = pesList[1];
- var posRes = await LocUtil.X3(
- pes1.Dt,
- pes2.Dt,
- pes1.GetMainAntLLA(),
- pes1.GetAdjaAntLLA(),
- pes2.GetMainAntLLA(),
- pes2.GetAdjaAntLLA(),
- pes1.GetMainEphXYZ(),
- pes1.GetAdjaEphXYZ(),
- pes2.GetMainEphXYZ(),
- pes2.GetAdjaEphXYZ()
- );
- var ss = posRes.Result;
- //LocUtil.X3()
- }
- private void gvPesList_RowStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs e)
- {
- }
- private void gvPesList_RowCellStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e)
- {
- if (e.Column != colSnr || e.RowHandle < 0 || e.CellValue == NotLoadedObject.Instance) return;
- bool isValid = (bool)gvPesList.GetRowCellValue(e.RowHandle, colIsValid);
- if (!isValid)
- {
- e.Appearance.BackColor = Color.LightGray;
- }
- }
- private void btnExportCsv_ItemClick(object sender, ItemClickEventArgs e)
- {
- string filename = ToolDialog.SaveFile($"参估列表{DateTime.Now:yyyyMMddHHmmss}.csv", "导出参估列表", null, "csv文件(*.csv)|*.csv");
- if (filename.IsNotNullOrWhitespace())
- {
- gvPesList.ExportToCsv(filename);
- }
- }
- }
- }
|