c# dev GridControl多选当前行显示样式问题

本文介绍了解决DevGridControl在多选模式下,当焦点移出时如何保持焦点行样式的方案。通过禁用默认的聚焦样式并自定义RowStyle事件来实现样式保留。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于Dev GridControl在支持多选的时候,如果如果焦点行单独加了样式,Appearance-->FocusedRow  &  HideSelectionRow

这个时候,鼠标焦点转移到其他控件时候,由于GridControl失去了焦点,故GridControl当前行(焦点行)上的样式就丢失了。

Dev是一套很成熟的商用控件,当然,解决方案还是有的,如下:

设置EnableAppearanceFocusedCell = False, EnableAppearanceFocusedRow = False为false,然后自定义RowStyle事件,具体设置如下:

OptionsSelection --> CheckBoxSelectorColumnWidth = 28, MultiSelectMode = CheckBoxRowSelect, EnableAppearanceFocusedCell = False, EnableAppearanceFocusedRow = False, MultiSelect = True

FocusRectStyle --> RowFullFocus

private void gridView1_RowStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs e)
{
    if (e.RowHandle == this.gridView1.FocusedRowHandle)
        e.Appearance.BackColor = Color.LightGreen;
}

 

转载于:https://www.cnblogs.com/lcawen/p/9150053.html

C#中,Devexpress控件套件中GridControl是一种用于显示和编辑表格数据的高级组件。如果你想在GridControl中插入一行,可以按照以下步骤操作: 1. 首先,确保你已经添加了DevExpress WinForms GridControl所需的命名空间引用: ```csharp using DevExpress.XtraGrid.Views.Base; using DevExpress.XtraGrid.Views.Grid; ``` 2. 获取当前的数据网格视图(通常是GridView): ```csharp GridView view = (GridView)gridControl.MainView; ``` `gridControl`是包含GridControl的控件实例。 3. 创建一个新的数据模型对象(如果你的GridControl绑定了一个业务对象),并将它添加到数据源中: ```csharp object newRow = dataProvider.NewRow(); // 数据提供程序通常处理数据源的增删改查 view.DataSource.Add(newRow); ``` 这里假设`dataProvider`是一个实现了`IDataProvider`接口的对象,如DataSourceBase。 4. 如果你想插入行的位置不是最后,可以调整行索引: ```csharp view.RowCount++; view.Rows[view.RowCount - 1] = newRow; // 添加新行至指定位置 ``` 5. 更新视图以便在界面中看到新的行: ```csharp view.InvalidateRow(newRow); // 通知GridControl更新行数据 ``` 6. 最后,考虑调用`view.ProcessNewRow()`来处理新行的默认行为,比如焦点转移等: ```csharp view.ProcessNewRow(); ``` 记得在实际应用中处理异常,并且根据你的具体需求定制上述代码。如果需要插入特定列的数据,可以直接设置对应字段的值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值