找回密码
 立即注册

QQ登录

只需一步,快速开始

chcchb
论坛元老   /  发表于:2013-7-25 20:14  /   查看:5780  /  回复:4
spread设置 只能选择单行.

如何判断选中行的背景色?


如果颜色是在前台设置的,那么下面的代码是有效果的:
  1. function cellSelected() {
  2.             var spread = document.all("FpSpread1");
  3.             var table = document.all("FpSpread1_Viewport");
  4.             var tr = table.rows(spread.ActiveRow);
  5.             alert(tr.bgColor);           
  6.         }

  7.         function Button1_onclick() {
  8.             var spread = document.all("FpSpread1");
  9.             var table = document.all("FpSpread1_Viewport");
  10.             var tr = table.rows(spread.ActiveRow);
  11.             tr.bgColor = "Red";

  12.         }
复制代码

如果颜色是在后台设置的,那么通过上面的方法是取不到颜色的.
自己测试了下面的代码:
  1. function cellSelected() {
  2.             var spread = document.all("FpSpread1");
  3.             var table = document.all("FpSpread1_Viewport");
  4.             var tr = table.rows(spread.ActiveRow);
  5.             alert(tr.bgColor);//无效
  6.            
  7.             var activeRow = spread.ActiveRow;
  8.             var activeCol = spread.ActiveCol;
  9.             var cell = spread.Cells(activeRow, activeCol);
  10.             alert("1:" + cell.bgColor);//无效,空
  11.             alert("2:" + cell.style.backgroundColor);//无效,有一个颜色值(好像是默认值,我本地测试时,选择一行红色的,还是和没设置颜色的报一样的值)
  12.             alert("3:" + cell.style.background);//无效,空
  13.             alert("4:" + cell.style.color);//无效,空
  14.         }
复制代码

4 个回复

倒序浏览
chcchb
论坛元老   /  发表于:2013-7-25 20:26:00
沙发
cell.style.backgroundColor 这个颜色应该是选中某单元格时指定的颜色值

又试了下:取选择单元格的下一列的单元格,结果,都是空..
  1. var cell = spread.Cells(activeRow, activeCol + 1);
  2.             alert("1:" + cell.bgColor);
  3.             alert("2:" + cell.style.backgroundColor);
  4.             alert("3:" + cell.style.background);
  5.             alert("4:" + cell.style.color);
复制代码
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-7-26 09:35:00
板凳
回复 2楼chcchb的帖子

请使用以下方法测试:

  1.         function cellSelected() {
  2.             var spread = document.all("FpSpread1");

  3.             var cell = spread.Cells(spread.ActiveRow, spread.ActiveCol);

  4.             alert("1:" + cell.GetBackColor());

  5.         }
复制代码
回复 使用道具 举报
chcchb
论坛元老   /  发表于:2013-7-26 11:25:00
地板
回复 3楼iceman的帖子




cell.GetBackColor() 这个针对后台设置的颜色有效.

var tr = table.rows(spread.ActiveRow);
            alert(tr.bgColor);           这个针对js设置颜色后有效..
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-7-26 15:14:00
5#
回复 4楼chcchb的帖子

恩,那我关贴子喽
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部