找回密码
 立即注册

QQ登录

只需一步,快速开始

bpic
金牌服务用户   /  发表于:2017-7-31 17:49  /   查看:3125  /  回复:3

C1flexgrid的数据是动态填充的。
自动如何根据列的值,如层次自定义对应单元行的背景色?我试了一下,表格数据变化时不执行这个事件呀?

        private void c1FlexGrid_BomExpand_OwnerDrawCell(object sender, OwnerDrawCellEventArgs e)
        {
            if (c1FlexGrid_BomExpand.Cols["层次"].Caption == "2")
            {
                c1FlexGrid_BomExpand.Rows[e.Row].Style.BackColor = Color.Yellow;
            }
        }
不知道是不是哪里写的不对?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

3 个回复

倒序浏览
JeffryLI
葡萄城公司职员   /  发表于:2017-7-31 18:06:32
沙发
您好,需要设置DrawMode=OwnerDraw,就会触发OwnerDrawCell事件,希望能帮到您
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
bpic
金牌服务用户   /  发表于:2017-7-31 23:32:47
板凳
代码还是有问题,提示列名超出索引值,
我想实现在数据填充类似动态样式的效果,但找不到这个演示文件的源码在哪里?忘记这个演示文件在你们网站哪里下载的了。
你有源码或地址的发我一份。
或者帮我简单写一段可用的代码,如某列为1时,显示红色,为2显示黄色。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2017-8-1 09:21:12
地板
bpic 发表于 2017-7-31 23:32
代码还是有问题,提示列名超出索引值,
我想实现在数据填充类似动态样式的效果,但找不到这个演示文件的源 ...

您好,您获取的方式不对,请参照
  1. if (c1FlexGrid1.Cols[e.Col].Name == "UnitsInStock" && e.Row > 0)
  2.             {
  3.                 int tmp;
  4.                 tmp = int.Parse(c1FlexGrid1[e.Row, e.Col].ToString());
  5.                 if (tmp < 10)
  6.                 {
  7.                     e.Style = c1FlexGrid1.Styles["myCustom1"];
  8.                 }
  9.                 else if (tmp < 50)
  10.                 {
  11.                     e.Style = c1FlexGrid1.Styles["myCustom2"];
  12.                 }
  13.                 else if (tmp < 100)
  14.                 {
  15.                     e.Style = c1FlexGrid1.Styles["myCustom3"];
  16.                 }
  17.             }
复制代码
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部