首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >改变网格视图单元格颜色的可重用方法

改变网格视图单元格颜色的可重用方法
EN

Stack Overflow用户
提问于 2012-01-13 01:23:25
回答 2查看 915关注 0票数 1

我需要根据数据值更改网格视图单元格的颜色。我可以很容易地使用Gridviews RowDataBound事件中的数据行视图和if语句(见下文),但是我需要对30列执行此操作,这将是相当冗长的,并且如果业务规则发生变化,更改将是一件痛苦的事情。如何将以下代码封装到一个可重用的方法中,以便调用该方法并传入数据列和单元格索引?

代码语言:javascript
复制
    protected void gv1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.DataItem != null)
        {
            DataRowView drv = (DataRowView)e.Row.DataItem;

            int A = Int32.Parse(drv["A"].ToString());
            if (A <= 74)
            {
                e.Row.Cells[2].BackColor = System.Drawing.Color.Red;
            } 
        }
    }
EN

Stack Overflow用户

回答已采纳

发布于 2012-01-13 01:36:09

代码语言:javascript
复制
public void SetColor(DataGridViewRow row, string columnName, int cellIndex)
{
    var data = (GridViewRow)row.DataItem;
    int number = Convert.ToInt32(data[columnName]);
    if (number > 74) return;

    row.Cells[cellIndex].BackColor = Color.Red;
}

protected void gv1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType != DataRowType.DataRow) return;
    SetColor(e, "A", 2);
}
票数 2
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8839395

复制
相关文章

相似问题

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