找回密码
 立即注册

QQ登录

只需一步,快速开始

sakeryu

初级会员

34

主题

122

帖子

322

积分

初级会员

积分
322

活字格认证

sakeryu
初级会员   /  发表于:2014-8-18 16:03  /   查看:11458  /  回复:11
如下图。同一个表格文件。在Winform里面设置好表格线样式。到Web里面打开该表格的时候,表格线变得很粗,看起来很别扭。在Web里面有什么属性设置吗?


另外一个问题,在Form里面单元格如果为0值可以不显示,Web里面如果单元格是0值,也会显示出“0”,有办法不现实吗?

谢谢!
表格线粗细问题.gif

11 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2014-8-18 17:45:00
沙发
回复 1楼sakeryu的帖子

1.边框问题可能是因为上下边框重叠造成的,可以解决,由于我现在无法重现问题,能否发个 Demo 上来我调试?
2.当前还无法实现这个功能
回复 使用道具 举报
sakeryu
初级会员   /  发表于:2014-8-19 12:11:00
板凳
回复 2楼iceman的帖子

这个不需要demo吧?很简单,在winform里面画一个带线框的表格,再用web打开看看线框是不是一样就可以了啊。
fpSpread1.BorderCollapse = BorderCollapse.Collapse;//不重画
但是web版好像没这属性。

注:我使用的是sp6.0
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-8-19 15:00:00
地板
回复 3楼sakeryu的帖子

请尝试以下代码看能否解决你的问题:

  1.         protected override void Render(HtmlTextWriter writer)
  2.         {
  3.             Table spread=this.FpSpread1.FindControl("viewport") as Table;
  4.             int rowCount = spread.Rows.Count;
  5.             int colCount = spread.Rows[0].Cells.Count;

  6.             for (int i = 0; i < rowCount; i++)
  7.             {
  8.                 for (int j = 0; j < colCount; j++)
  9.                 {
  10.                     spread.Rows[i].Cells[j].BorderWidth = 1;
  11.                 }
  12.             }
  13.             base.Render(writer);
  14.         }
复制代码
回复 使用道具 举报
sakeryu
初级会员   /  发表于:2014-8-20 10:51:00
5#
回复 4楼iceman的帖子

好的。我先按你的代码试试看。

关于第2个问题,web上不显示0,有没有别的解决办法??因为打开一张报表,表中单元格较多,部分单元格有数,没数的单元格都显示成0,很不好看。。如果没有那个不显示0的属性,有其他变通解决办法也行,谢谢!
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-8-20 18:49:00
6#
回复 5楼sakeryu的帖子

请尝试以下代码:

  1.         protected void Page_Load(object sender, EventArgs e)
  2.         {
  3.             if (IsPostBack)
  4.             {
  5.                 return;
  6.             }

  7.             this.FpSpread1.ActiveSheetView.Cells[0, 0].Value = 0;

  8.             this.FpSpread1.ActiveSheetView.Columns[0].CellType = new MyDoubleCellType();
  9.         }

  10.         [Serializable]
  11.         public class MyDoubleCellType : FarPoint.Web.Spread.DoubleCellType
  12.         {
  13.             public override string Format(object obj)
  14.             {
  15.                 if ((obj==null)||(Convert.ToDouble(obj)==0))
  16.                 {
  17.                     return "";
  18.                 }
  19.                 else
  20.                     {
  21.                     return base.Format(obj);
  22.                     }
  23.             }
  24.         }
复制代码
回复 使用道具 举报
sakeryu
初级会员   /  发表于:2014-8-26 10:01:00
7#
再问,用4楼方法画的表格线,在导出excel后,没有线,怎么处理?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-8-26 17:15:00
8#
回复 7楼sakeryu的帖子

sakeryu 你好,

这是 Spread 6.0 的已知问题,在 Spread 7.0V4 中已经修复了,可以下载试用:
http://www.gcpowertools.com.cn/d ... SpreadforWeb7v4.zip

谢谢
回复 使用道具 举报
sakeryu
初级会员   /  发表于:2014-8-26 22:45:00
9#
回复 8楼iceman的帖子

那版主有别的解决办法不呢。不可能为了这个问题就掏钱升级吧,而且这应该算是bug,不是功能问题,还不能免费升级用新版,那就麻烦了!
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-8-27 18:09:00
10#
回复 9楼sakeryu的帖子

目前仅有的办法是在导出前后去设置 Border 的宽度来解决这个问题。
或者你使用是 Spread 6.0 SP3  吗?可以尝试下这个版本是否存在这个问题:
http://www.gcpowertools.com.cn/d ... 013.0725.0_Full.zip
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部