找回密码
 立即注册

QQ登录

只需一步,快速开始

HNA_fengjie

论坛元老

39

主题

97

帖子

1万

积分

论坛元老

积分
14189

活字格认证

HNA_fengjie
论坛元老   /  发表于:2011-11-9 16:02  /   查看:5249  /  回复:7
红框里面的单元格是跨行跨列的;如果设置当前的sheet的FrozenColumnCount=1(锁定第一列)
则出现布局混乱的问题 !
目的为锁定第一列 不出现布局混乱!麻烦解决一下!谢谢!

5972842655761.jpg

1.94 MB, 下载次数: 145

7 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-11-9 16:16:00
沙发
你好,
能否将你的这三个Sheet保存为xml文件发送给我们调试一下,谢谢!
回复 使用道具 举报
HNA_fengjie
论坛元老   /  发表于:2011-11-9 16:21:00
板凳
你好!这个sheet是一个单元格,一个单元格 画出来的!1,2,7,8,13,14 行有跨列的情况,我想锁定第一行,但当设置锁定的时候会出现布局混乱的问题!稍后我会把一个简单的例子发上来!
回复 使用道具 举报
HNA_fengjie
论坛元老   /  发表于:2011-11-9 16:27:00
地板
public void initSpread(FarPoint.Web.Spread.FpSpread fpSpread, string sheetName, int rowCount, int columnCount)
    {
        FarPoint.Web.Spread.SheetView sheet = new FarPoint.Web.Spread.SheetView();
        sheet.SheetName = sheetName;
        sheet.ColumnCount = columnCount;
        sheet.RowCount = rowCount;
        sheet.PageSize = rowCount;

        for (int rowIndex = 0; rowIndex < rowCount; rowIndex++)
        {
            if (rowIndex == 0)
            {
                sheet.SpanModel.Add(0, 0, 1, columnCount - 1);
                sheet.Cells[0, 0, 1, columnCount - 1].Text = "我跨列了!";
                sheet.Rows[0].BackColor = Color.Black;
            }
            else
            {
                for (int columnIndex = 0; columnIndex < columnCount; columnIndex++)
                {
                    sheet.Cells[rowIndex, columnIndex].Text = string.Format("r{0}c{1}", rowIndex, columnIndex);
                }
            }
        }
        sheet.AllowLoadOnDemand = true;
        sheet.AutoCalculation = true;

        //设置FrozenColumnCount=1会出现布局混乱的问题
        sheet.FrozenColumnCount=1;
        sheet.Columns[0].BackColor = Color.Gray;
        fpSpread.Sheets.Add(sheet);
    }
回复 使用道具 举报
HNA_fengjie
论坛元老   /  发表于:2011-11-9 16:30:00
5#
现在跨列的那行,就是第一行,没有跨列的效果
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-11-9 17:16:00
6#
你好,我们已经重现你的问题,正在调查原因,稍后给你回复。谢谢!
回复 使用道具 举报
HNA_fengjie
论坛元老   /  发表于:2011-11-9 17:24:00
7#
好的!谢谢了!主要是当第一行跨列(0列到最后一列)
的时候;FrozenColumnCount=1(锁定第一列)
那么 第一行的跨列效果出不来!
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-11-9 17:29:00
8#
你好,
Spread中的固定列和合并单元格一块使用时有一个限制条件:固定列中的单元格不能加到合并单元格中,也就是两个区域不能有重叠的单元格。

你可以将你发来的代码中的这一行代码:

  1. //修改前
  2. sheet.SpanModel.Add(0, 0, 1, columnCount - 1);
  3. //修改为
  4. sheet.SpanModel.Add(0, 1, 1, columnCount - 1);
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部