c# dev控件 gridcontrol 数据跟随鼠标滚轮滚动也可以编辑

在绑定书到gridControl后经常发现:

如果你设置了 this.gridView3.OptionsBehavior.Editable = false; 那数据可以跟随滚轮滚动,但如果你要复制某个单元格的数据时会发现不能复制

但如果你设置了 this.gridView3.OptionsBehavior.Editable = true;  那单元格数据是可以复制了,但又不能跟随滚轮滚动了,那问题来了:

能不能即可以让数据跟随滚轮滚动又可以复制呢?

我是这样做的:
窗体加载时注册一个滚轮事件:

  private void OwlbmUseInStyle_Load(object sender, EventArgs e)
        {
            this.gridView1.MouseWheel += new System.Windows.Forms.MouseEventHandler(this.gridView1_MouseWheel);
        }
//滚轮事件设置单元格不可编辑
  public void gridView1_MouseWheel(object sender, MouseEventArgs e)
        {
            this.gridView1.OptionsBehavior.Editable = false;
        }
//再添加一个行点击事件,点击数据行时单元格可编辑
        private void gridView1_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
        {
            this.gridView1.OptionsBehavior.Editable = true;
        }
试试吧
————————————————
版权声明:本文为CSDN博主「我大吼一声」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/a389483637/article/details/38391369

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过以下步骤实现在 DEV GridControl 的单元格直接修改数据: 1. 在 DEV GridControl 上添加一个开关控件(Switch)。 2. 通过开关控件的 CheckedChanged 事件,判断开关状态并设置 DEV GridControl 的 EditMode 属性。 3. 如果开关是打开状态,则设置 EditMode 为 EditOnEnter,这样当用户单击单元格时就可以直接修改数据。 4. 如果开关是关闭状态,则将 EditMode 设置为 EditProgrammatically,这样用户就不能直接在单元格中修改数据了。 以下是示例代码: ``` private void switchEditMode_CheckedChanged(object sender, EventArgs e) { if (switchEditMode.Checked) { // 打开编辑模式 gridView1.OptionsBehavior.Editable = true; gridView1.OptionsBehavior.EditorShowMode = DevExpress.Utils.EditorShowMode.Click; gridView1.OptionsBehavior.EditorShowMode2 = DevExpress.Utils.EditorShowMode.Click; gridView1.OptionsBehavior.AutoPopulateColumns = true; gridView1.OptionsView.NewItemRowPosition = DevExpress.XtraGrid.Views.Grid.NewItemRowPosition.Bottom; gridView1.OptionsEditForm.ShowOnDoubleClick = DevExpress.Utils.DefaultBoolean.True; gridView1.OptionsEditForm.ShowOnEnterKey = DevExpress.Utils.DefaultBoolean.True; gridView1.OptionsEditForm.ShowOnF2Key = DevExpress.Utils.DefaultBoolean.True; gridView1.OptionsEditForm.PopupEditFormWidth = 500; gridView1.OptionsSelection.MultiSelect = true; gridView1.OptionsSelection.MultiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.CellSelect; gridView1.OptionsView.ShowFooter = true; gridView1.OptionsView.GroupFooterShowMode = DevExpress.XtraGrid.Views.Grid.GroupFooterShowMode.VisibleAlways; gridView1.OptionsView.ShowAutoFilterRow = true; gridView1.OptionsView.ShowFilterPanelMode = DevExpress.XtraGrid.Views.Base.ShowFilterPanelMode.ShowAlways; gridView1.OptionsView.ShowGroupPanel = true; gridView1.OptionsView.ShowIndicator = true; gridView1.OptionsView.EnableAppearanceEvenRow = true; gridView1.OptionsView.EnableAppearanceOddRow = true; gridView1.OptionsView.ColumnAutoWidth = false; gridView1.OptionsView.RowAutoHeight = true; gridView1.OptionsView.HeaderFilterButtonShowMode = DevExpress.XtraEditors.Controls.FilterButtonShowMode.Button; gridView1.OptionsBehavior.AllowIncrementalSearch = true; gridView1.OptionsFind.AlwaysVisible = true; gridView1.OptionsFind.FindMode = DevExpress.XtraEditors.FindMode.Always; } else { // 关闭编辑模式 gridView1.OptionsBehavior.Editable = false; gridView1.OptionsBehavior.EditorShowMode = DevExpress.Utils.EditorShowMode.Default; gridView1.OptionsBehavior.EditorShowMode2 = DevExpress.Utils.EditorShowMode.Default; gridView1.OptionsBehavior.AutoPopulateColumns = false; gridView1.OptionsView.NewItemRowPosition = DevExpress.XtraGrid.Views.Grid.NewItemRowPosition.None; gridView1.OptionsEditForm.ShowOnDoubleClick = DevExpress.Utils.DefaultBoolean.False; gridView1.OptionsEditForm.ShowOnEnterKey = DevExpress.Utils.DefaultBoolean.False; gridView1.OptionsEditForm.ShowOnF2Key = DevExpress.Utils.DefaultBoolean.False; gridView1.OptionsSelection.MultiSelect = false; gridView1.OptionsView.ShowFooter = false; gridView1.OptionsView.GroupFooterShowMode = DevExpress.XtraGrid.Views.Grid.GroupFooterShowMode.Hidden; gridView1.OptionsView.ShowAutoFilterRow = false; gridView1.OptionsView.ShowFilterPanelMode = DevExpress.XtraGrid.Views.Base.ShowFilterPanelMode.Never; gridView1.OptionsView.ShowGroupPanel = false; gridView1.OptionsView.ShowIndicator = false; gridView1.OptionsView.EnableAppearanceEvenRow = false; gridView1.OptionsView.EnableAppearanceOddRow = false; gridView1.OptionsView.ColumnAutoWidth = true; gridView1.OptionsView.RowAutoHeight = false; gridView1.OptionsView.HeaderFilterButtonShowMode = DevExpress.XtraEditors.Controls.FilterButtonShowMode.Default; gridView1.OptionsBehavior.AllowIncrementalSearch = false; gridView1.OptionsFind.AlwaysVisible = false; gridView1.OptionsFind.FindMode = DevExpress.XtraEditors.FindMode.FindClick; } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值