找回密码
 立即注册

QQ登录

只需一步,快速开始

figoyu
金牌服务用户   /  发表于:2015-4-19 11:53  /   查看:5783  /  回复:5
FarPoint.Web.Spread.Border bord = new FarPoint.Web.Spread.Border(BorderStyle.Dotted, Color.Tomato, 3);
                foreach (SheetView sheet in templateNewSpread.Sheets)
                {
                    sheet.AllowPage = false;
                    sheet.OperationMode = FarPoint.Web.Spread.OperationMode.Normal;
                    sheet.SelectionBackColorStyle =   SelectionBackColorStyles.SemiTransparentSelectionBackColor;
                    sheet.SelectionBackColor = Color.LightGray;
                    sheet.SelectionPolicy = FarPoint.Web.Spread.Model.SelectionPolicy.MultiRange;
                    sheet.SelectionBorder = bord;
                }   

用了以上的代码,选择多个cell时,能显示选中的cell的背景色,选择单个cell,就不显示cell的背景色了

5 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2015-4-20 10:40:00
沙发
回复 1楼figoyu的帖子

你好,

选中单个cell时,当前单个cell获取焦点,焦点单元格与其他选中单元格样式不同是 Spread 产品设计。
优先级要高于设置的背景色。

如果需要更改焦点单元格背景色,需要通过自定义方式。
如果需要继续跟进,请提出。
谢谢
回复 使用道具 举报
figoyu
金牌服务用户   /  发表于:2015-4-20 12:46:00
板凳
请问,如何自定义焦点单元格的背景颜色和边框?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-4-20 15:46:00
地板
回复 3楼figoyu的帖子

前台设置选中单元格的背景色方法如下,大概思路为通过 Spread 前台接口,获取选中范围,再设置背景色。如果选择位置变换可以先把选中范围记录再设置为选中前背景色:

  1.                 function setActiveCellBK() {
  2.                     var s = document.getElementById("FpSpread1");
  3.                     var rgs = s.GetSelectedRanges();
  4.                     for (var i = 0; i < rgs.length; i++) {
  5.                         for (var j = rgs[i].row; j < rgs[i].rowCount; j++) {
  6.                             for (var k = rgs[i].col; k < rgs[i].colCount; k++) {
  7.                                 var cell = s.Cells(j, k);
  8.                                 cell.SetBackColor("red");            
  9.                             }
  10.                         }
  11.                     }
复制代码


后台设置选中单元格范围边框代码如下:

  1.                 FpSpread1.ShowFocusRectangle = true;
  2.                 FpSpread1.FocusRectangleBorderStyle = FarPoint.Web.Spread.FocusBorderStyle.Dotted;
  3.                 FpSpread1.FocusRectangleBorderColor = Color.Red;
复制代码
回复 使用道具 举报
figoyu
金牌服务用户   /  发表于:2015-4-20 16:34:00
5#
好的,明白了,谢谢
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-4-20 17:11:00
6#
回复 5楼figoyu的帖子

为了给你提供更优质的服务,请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢

评分

参与人数 1满意度 +5 收起 理由
figoyu + 5

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部