找回密码
 立即注册

QQ登录

只需一步,快速开始

FBAccount

中级会员

21

主题

73

帖子

701

积分

中级会员

积分
701

活字格认证

FBAccount
中级会员   /  发表于:2014-12-30 10:27  /   查看:6944  /  回复:6
Flexgrid为绑定DataTable,使用AutoGenerateColumns = true

想完成几个需求

1.        首先是能够设定Header,我用C1Flexgrid.Rows[0].Style.BackColor 来设定会说null
2.        次之为设定奇偶列的颜色,应该有Normal和Alternate可以设定?
3.        最后依据某Column内值的不同来设定该笔数据ForeColor

第三个目前我是用 C1Flexgrid.Rows[row].Style 来设定预选的CellStyle 进去,若遇某些需要单一Cell的设定就以C1Flexgrid.SetCellStyle( row, col, cs) 操作

目前没有排序,但往后倘若需要排序,不知道会不会有问题,请问有没有比较建议的代码方式
然而目前只有颜色需要变更,希望其他Style不要动到,因此可以直接针对BackColor和ForeColor做变动吗?

6 个回复

倒序浏览
FBAccount
中级会员   /  发表于:2014-12-30 10:43:00
沙发
Flexgrid为绑定DataTable,使用AutoGenerateColumns = true

想完成几个需求

1.        首先是能够设定Header,我用C1Flexgrid.Rows[0].Style.BackColor 来设定会说null
2.        次之为设定奇偶列的颜色,应该有Normal和Al......
FBAccount 发表于 2014-12-30 10:28:00


第二项可用
Styles[CellStyleEnum.Normal].BackColor = Color.Gray;
Styles[CellStyleEnum.Alternate].BackColor = Color.White;
完成,但第一项我找不到
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-12-30 11:12:00
板凳
回复 1楼FBAccount的帖子

1.不能设置C1FlexGrid.Rows[0].Style.BackColor,因为Style是null。
应该写成:
  1.   CellStyle cs = this.c1FlexGrid1.Styles.Add("mycs");
  2.             cs.BackColor = Color.Red;
  3.             this.c1FlexGrid1.Rows[0].Style = cs;
复制代码

或是设置所有header区域的背景色:
  1. Styles["Fixed"].BackColor = Color.White;
复制代码

2.你已经解决。
3.还有可以使用自绘单元格的方式。使用OwerDrawCell的事件来判断处理。
有关这个的使用可以参考中文文档:
http://www.gcpowertools.com.cn/d ... #!Documents/_12.htm
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
FBAccount
中级会员   /  发表于:2014-12-30 15:29:00
地板
回复 1楼FBAccount的帖子

1.不能设置C1FlexGrid.Rows[0].Style.BackColor,因为Style是null。
应该
Alice 发表于 2014-12-30 11:12:00


  CellStyle cs = this.c1FlexGrid1.Styles.Add("mycs");
  cs.BackColor = Color.Red;
  this.c1FlexGrid1.Rows[0].Style = cs;

我这边只能用这个方式

Styles["Fixed"].BackColor = Color.White; 这个方式无法作用

不过至少第一项解决

请教一下,有方式可以一次设定所有表格边线吗 Border ?还是得
OwnerDrawCell 一格格画?
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-12-30 17:05:00
5#
回复 4楼FBAccount的帖子

除了owerdraw的方式,还可以采用两种方式:
1.可以通过C1FlexGrid的SetCellStyle方法,设置单元格的Border。
2.也可以通过C1FlexGrid.Styles["Normal"].Border来设置默认的单元格样式

评分

参与人数 1满意度 +5 收起 理由
FBAccount + 5 感谢回应

查看全部评分

请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
FBAccount
中级会员   /  发表于:2014-12-31 08:21:00
6#
回复 4楼FBAccount的帖子

除了owerdraw的方式,还可以采用两种方式:
1.可以通过C1FlexGrid的SetCellStyle方法,
Alice 发表于 2014-12-30 17:05:00


采用 C1FlexGrid.Styles[CellStyleEnum.Normal].Border.Color 可正确作用,感谢~
此帖可结帖了,谢谢唷~ 并祝新年快乐~
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-12-31 11:06:00
7#
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部