lixiaojun
2025-04-09 0f99680aff09e91f521b5909aab42811c1c3e6f1
WinFrmUI/Yw.WinFrmUI.Core/00-core/GridViewExtensions.cs
@@ -1,13 +1,20 @@
using DevExpress.Utils.Behaviors;
using DevExpress.Utils.DragDrop;
namespace Yw.WinFrmUI
namespace Yw.WinFrmUI
{
    /// <summary>
    /// GridView的拓展类
    /// </summary>
    public static class GridViewExtensions
    {
        /// <summary>
        /// 根据 client point 获取行索引
        /// </summary>
        public static int GetRowHandleByCP(this GridView grid, Point cp)
        {
            Point pt = grid.GridControl.PointToClient(cp);
            var hitInfo = grid.CalcHitInfo(pt);
            return hitInfo.RowHandle;
        }
        #region 默认
        /// <summary>
@@ -34,9 +41,6 @@
            grid.OptionsClipboard.AllowCopy = DefaultBoolean.True;
            grid.OptionsBehavior.Editable = false;
            grid.OptionsBehavior.ReadOnly = true;
            grid.OptionsView.EnableAppearanceOddRow = true;   // 使能 // 和和上面绑定 同时使用有效
            grid.Appearance.EvenRow.BackColor = Color.FromArgb(244, 248, 251);  // 设置偶数行颜色
@@ -77,7 +81,6 @@
            grid.OptionsView.EnableAppearanceEvenRow = true;
            grid.Appearance.OddRow.BackColor = Color.White; // 设置偶数行颜色
            grid.RowHeight = height;
            grid.ColumnPanelRowHeight = height;
            grid.GroupRowHeight = height;
@@ -113,7 +116,6 @@
            grid.Appearance.OddRow.BackColor = Color.White;
            grid.Appearance.EvenRow.BackColor = Color.FromArgb(244, 248, 251);
            grid.RowHeight = height;
            grid.ColumnPanelRowHeight = height;
            grid.GroupRowHeight = height;
@@ -148,7 +150,6 @@
            grid.Appearance.EvenRow.BackColor = Color.FromArgb(244, 248, 251);  // 设置偶数行颜色
            grid.OptionsView.EnableAppearanceEvenRow = true;
            grid.Appearance.OddRow.BackColor = Color.White; // 设置偶数行颜色
            grid.RowHeight = height;
            grid.ColumnPanelRowHeight = height;
@@ -213,8 +214,6 @@
            grid.ColumnPanelRowHeight = height;
            grid.GroupRowHeight = height;
            grid.BestFitColumns();
        }
        /// <summary>
@@ -324,7 +323,7 @@
            return row;
        }
        #endregion
        #endregion 默认
        /// <summary>
        /// 绑定按列分组视图设置 Nsx_20210729
@@ -366,7 +365,6 @@
            grid.BestFitColumns();
        }
        /// <summary>
        /// 普通编辑视图设置
        /// </summary>
@@ -396,17 +394,15 @@
            grid.Appearance.OddRow.BackColor = Color.White;
            grid.Appearance.EvenRow.BackColor = Color.FromArgb(244, 248, 251);
            grid.RowHeight = height;
            grid.ColumnPanelRowHeight = height;
            grid.GroupRowHeight = height;
            grid.BestFitColumns();
        }
        /// <summary>
        /// 设置拖拽状态下的普通视图
        /// </summary>
        /// </summary>
        public static void SetDragNormalView<t>(this GridView rhs, int height = 30) where t : class
        {
            rhs.SetNormalView(height);
@@ -425,7 +421,6 @@
                    }
                }
            };
            rhs.MouseMove += (sender, e) =>
            {
@@ -451,42 +446,5 @@
                }
            };
        }
        #region 拖拽
        /// <summary>
        /// 附加拖拽行为
        /// </summary>
        public static void AttachDragBehavior(this GridView grid, BehaviorManager bm)
        {
            bm.Attach<DragDropBehavior>(grid, behavior =>
            {
                behavior.BeginDragDrop += (sender, e) =>
                {
                };
                behavior.DragDrop += (sender, e) =>
                {
                };
                behavior.EndDragDrop += (sender, e) =>
                {
                };
            });
        }
        /// <summary>
        /// 解除拖拽行为
        /// </summary>
        public static void DetachDragBehavior(this GridView grid, BehaviorManager bm)
        {
            bm.Detach<DragDropBehavior>(grid);
        }
        #endregion
    }
}
}