DevExpress WinForms使用教程:GridView – 在EditForm中更改BackColor

本文将为大家介绍数据网格如何将自定义单元格颜色从RowCellStyle事件传递到编辑表单。

DevExpress WinForms拥有180+组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!

DevExpress WinForms
问题

假设在GridView中动态更改RowCell的颜色:

C#

private void GridView_RowCellStyle(object sender, RowCellStyleEventArgs e){// ... some logice.Appearance.BackColor = Color.FromArgb(98, 182, 204, 252);// ... other logic}

需要在相应的编辑表单控件中使用相同的BackColor。有必要使用EditFormPrepared事件并更改e.BindableControls [column] .BackColor属性,但我想了解如何获取列样式。

解决方案

任务是获取相应列单元格的颜色,建议创建一个方法,该方法实现RowCellStyle逻辑来计算单元格颜色并将其在EditFormPrepared事件处理程序中使用。下面的代码说明了此方法:

C#

private void GridView1_EditFormPrepared(object sender, EditFormPreparedEventArgs e) {GridView view = sender as GridView;foreach (GridColumn c in view.VisibleColumns) {e.BindableControls[c].BackColor = GetColor(c, e.RowHandle, view.GetRowCellValue(e.RowHandle, c));}}private void GridView1_RowCellStyle(object sender, RowCellStyleEventArgs e) {e.Appearance.BackColor = GetColor(e.Column, e.RowHandle, e.CellValue);}Color GetColor(GridColumn column, int rowHandle, object value) {if (rowHandle != 0)return Color.Empty;//your logicif (column.FieldName == "Name")return Color.Green;return Color.Red;}

上DevExpress中文网,获取第一手最新产品资讯!

DevExpress技术交流群3:700924826      欢迎一起进群讨论

高端UI界面开发
标签:

来源:慧都网

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年3月23日
下一篇 2021年3月23日

相关推荐

发表回复

登录后才能评论