提交当前本机最新程序

This commit is contained in:
cyf
2026-07-16 16:05:38 +08:00
parent 43ae774164
commit 6be6607a40
47 changed files with 7895 additions and 811 deletions
@@ -106,6 +106,7 @@ namespace Lskj.PubMrpAnalyze
/// 是否已经执行行改变事件并刷新明细数据
/// </summary>
private bool isFocusedRowChanged = true;
private HashSet<GridView> mrpDragCopyViews = new HashSet<GridView>();
#endregion
public MrpAnalyzeMain()
{
@@ -659,6 +660,8 @@ namespace Lskj.PubMrpAnalyze
this.gd_LeftBottom.SetGridViewDataSource(detailTable);
}
this.SetDetailGridDataSource();
this.EnsureRightGridFocusedCellCopy(gridControlEx);
this.RestoreRightGridCellSelection(gridControlEx);
}
catch (Exception ex)
{
@@ -666,6 +669,83 @@ namespace Lskj.PubMrpAnalyze
MessageUtil.Show(Message, ex.Message);
}
}
private void EnsureRightGridFocusedCellCopy(GridControlEx gridControlEx)
{
try
{
if (gridControlEx == null || gridControlEx.GridView == null) return;
GridView view = gridControlEx.GridView;
if (mrpDragCopyViews.Contains(view)) return;
view.KeyDown += OnRightGridViewKeyDown;
mrpDragCopyViews.Add(view);
}
catch
{
}
}
private void OnRightGridViewKeyDown(object sender, KeyEventArgs e)
{
try
{
if (!e.Control || e.KeyCode != Keys.C) return;
GridView view = sender as GridView;
if (view == null || view.OptionsSelection.MultiSelectMode != GridMultiSelectMode.CellSelect) return;
var cells = view.GetSelectedCells();
if (cells.Length != 0 || view.GetSelectedRows().Length == 0) return;
if (view.FocusedRowHandle < 0 || view.FocusedColumn == null) return;
object obj = view.GetFocusedRowCellDisplayText(view.FocusedColumn);
Clipboard.SetDataObject(obj == null ? string.Empty : obj + "");
e.Handled = true;
}
catch
{
}
}
private void RestoreRightGridCellSelection(GridControlEx gridControlEx)
{
try
{
if (gridControlEx == null || gridControlEx.GridView == null || gridControlEx.IsDisposed || !gridControlEx.IsHandleCreated) return;
gridControlEx.BeginInvoke(new Action(() =>
{
try
{
if (gridControlEx.IsDisposed || gridControlEx.GridView == null) return;
GridView view = gridControlEx.GridView;
if (view.RowCount <= 0) return;
int rowHandle = view.FocusedRowHandle >= 0 ? view.FocusedRowHandle : 0;
GridColumn column = view.FocusedColumn ?? view.VisibleColumns.FirstOrDefault();
if (column == null) return;
view.ClearSelection();
view.FocusedRowHandle = rowHandle;
view.FocusedColumn = column;
view.SelectCell(rowHandle, column);
}
catch
{
}
}));
}
catch
{
}
}
/// <summary>
/// <para>说明:数据行发生改变加载明细</para>
/// <para>创建人:王一帆</para>