优秀的编程知识分享平台

网站首页 > 技术文章 正文

「DevExpress」XtraGrid常见问题处理方法

nanyue 2024-10-25 13:19:58 技术文章 8 ℃

1. 如何使用GridView内置方式编辑数据?

gridView1.OptionsBehavior.Editable的值设置为False,即gridView1.OptionsBehavior.Editable = False,它的默认值是True(数据可编辑)。 Gridview内置数据编辑器显示方式 gridView1.OptionsBehavior.EditorShowMode,可选值Default/ MouseDown/MouseUp/ Click。

说明: Default 多选Cell相当于Click,单选Cell相当于MouseDown; MouseDown 在单元格内按下鼠标键时打开内置编辑器; MouseUp 在单元格内释放鼠标键时打开内置编辑器; Click 在不是编辑状态,但获得焦点的单元格中点击时打开编辑器。点击非焦点单元格时,首先会切换焦点,再点击时才打开编辑器。

2. 如何清除网格

设置GridControl.DataSource属性为null,并调用Columns.Clear方法阻止网格主视图。

3. 多个线程可以安全地访问同一个XtraGrid的实例吗 可视控件只有三个方法是线程安全的:CreateGraphics,Invoke和BeginInvoke。XtraGrid的方法应通过BeginInvoke调用其他的线程。 应用程序可以在不同线程的XtraGrid创建多个实例形式。在这种情况下不应该有任何问题,网格控件在不同的线程形式下正确访问共享资源。

4. 如何动态自定义控制按钮的显示?

private void gvTimeGroup_CustomDrawCell(object sender,
DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
         {
 if (e.Column.FieldName == "IsFinished")
 {
 DevExpress.XtraEditors.ViewInfo.ButtonEditViewInfo buttonEditViewInfo =

(DevExpress.XtraEditors.ViewInfo.ButtonEditViewInfo)

((DevExpress.XtraGrid.Views.Grid.ViewInfo.GridCellInfo)e.Cell).ViewInfo;
 
 if (e.CellValue.Equals("1"))//判断条件,具体情况另行修改
 {
 buttonEditViewInfo.RightButtons[0].Button.Enabled = false;//必须有,否则即

使button状态为灰色,但点击还会触发事件
 buttonEditViewInfo.RightButtons[0].State =

DevExpress.Utils.Drawing.ObjectState.Disabled;
 }
 else
 {
 buttonEditViewInfo.RightButtons[0].Button.Enabled = true;
 buttonEditViewInfo.RightButtons[0].State =

DevExpress.Utils.Drawing.ObjectState.Normal;
 }
 }
         }

想要了解更多DevExpress使用技巧?海量视频课程以及最专业的DevExpress培训尽在慧都学院。

Tags:

最近发表
标签列表