找回密码
 立即注册

QQ登录

只需一步,快速开始

toure00

注册会员

2

主题

8

帖子

126

积分

注册会员

积分
126
最新发帖
toure00
注册会员   /  发表于:2016-8-4 11:10  /   查看:3672  /  回复:6
  1. if (this.MPackingListGrid.GetCellCheck(row, 3) == CheckEnum.Checked)
  2.                 {

  3.                     printList.Add(row);
  4.                     printList.Sort();
  5.                     
  6.                     CellRange rg = MPackingListGrid.GetCellRange(row, 3,1,11);
  7.                     rg.StyleNew.BackColor=Color.Gold;
  8.                     
  9.                 }
复制代码
代码是这样的
效果是这样的 我只选中了两行


本帖子中包含更多资源

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

x

6 个回复

倒序浏览
unity
社区贡献组   /  发表于:2016-8-4 16:45:11
沙发
你的代码只处理了 选择的情况设置为 金色。

但是取消选择的情况你没有处理啊。
这种情况你要把颜色 还原才行的。
回复 使用道具 举报
toure00
注册会员   /  发表于:2016-8-4 16:53:20
板凳
取消的我也有写全部代码是这样的
  1. if (this.MPackingListGrid.GetCellCheck(row, 3) == CheckEnum.Checked)
  2.                 {

  3.                     printList.Add(row);
  4.                     printList.Sort();
  5.                     
  6.                     CellRange rg = MPackingListGrid.GetCellRange(row,3,1,11);
  7.                     rg.StyleNew.BackColor=Color.Gold;
  8.                   
  9.                     
  10.                 }
  11.                 else if (this.MPackingListGrid.GetCellCheck(row, 3) != CheckEnum.Checked)
  12.                 {
  13.                     printList.Remove(row);
  14.                     CellRange rg = MPackingListGrid.GetCellRange(row,3,1,11);
  15.                     rg.Style.Clear();
  16.                 }
复制代码


回复 使用道具 举报
toure00
注册会员   /  发表于:2016-8-4 16:56:43
地板
unity 发表于 2016-8-4 16:45
你的代码只处理了 选择的情况设置为 金色。

但是取消选择的情况你没有处理啊。

你可能没明白我的意思 我只选了打勾的两个 别的行我都没操作过
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2016-8-5 10:49:01
5#
toure00 发表于 2016-8-4 16:53
取消的我也有写全部代码是这样的

通常都是因为你设置了黄色样式才会出现。
你还是把Demo发过来,我帮你调试。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
unity
社区贡献组   /  发表于:2016-8-5 11:27:06
6#
toure00 发表于 2016-8-4 16:56
你可能没明白我的意思 我只选了打勾的两个 别的行我都没操作过

通过代码直接修改Stylle对象的BackColor颜色不是太好。
C#中对象都是引用的,修改一个地方的颜色可能会影响其它.

通常的做法:
1. 事先在flexGrid的Styles中定义好各种颜色的style。
2. 在需要修改颜色时,直接修改style。

例如:
CellRange rg = ...
//设置为黄色,这里  Gold 的 Style 是需要事先定义好的
rg.Style = grid.Styles["Gold"];

//设置为通常颜色
rg.Style = grid.Styles.Normal;

评分

参与人数 1金币 +500 收起 理由
Alice + 500

查看全部评分

回复 使用道具 举报
Alice
社区贡献组   /  发表于:2016-8-5 15:21:36
7#
unity 发表于 2016-8-5 11:27
通过代码直接修改Stylle对象的BackColor颜色不是太好。
C#中对象都是引用的,修改一个地方的颜色可能会 ...

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

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部