首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DevComponents DotNetBar SuperGridControl:如何仅更改1行的背景色

DevComponents DotNetBar SuperGridControl:如何仅更改1行的背景色
EN

Stack Overflow用户
提问于 2015-08-05 00:21:13
回答 1查看 2.6K关注 0票数 2

正如主题所指出的,我的窗体上有一个DevComponents DotNetBar SuperGridControl (SGC)。在SGC中,我有交替行颜色。SGC中的一列具有布尔值(数据中的启用/禁用标志)。

我只想更改用假布尔值标记的行的背景颜色。

我尝试用来执行此任务的代码如下:

代码语言:javascript
复制
    private void dgvSearchResults_PostRenderRow(object sender, GridPostRenderRowEventArgs e)
    {
        if (e.RenderParts != RenderParts.Background) { return; }

        var row = (GridRow)e.GridRow;

        if (((CustomerDTO)row.DataItem).Disabled)
        {
            //Try to figure out how to set the row color here.
        }
    }

最糟糕的是,这段代码显然会为SGC中的每一行运行两次。但是,抛开这一点不谈,似乎没有任何方法可以在进入.Disabled控制语句时更改我所在行的行颜色。

我很乐意得到任何提示或建议。

EN

回答 1

Stack Overflow用户

发布于 2018-07-06 23:52:47

所以我确实整理出了这个问题的答案,事实证明它相当简单。我只是调用了错误的事件处理程序。下面的代码执行的正是我在最初的问题中尝试的任务:

代码语言:javascript
复制
    private void dgvSearchResults_GetRowCellStyle(object sender, GridGetRowCellStyleEventArgs e)
    {
        if (e.StyleType != StyleType.Default) { return; }

        var row = e.GridRow as GridRow;
        if (row == null) { return; }

        if (((CustomerDTO)row.DataItem).Disabled) {
            e.Style.Background = new Background(Color.Tomato);
        }
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31814417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档