找回密码
 立即注册

QQ登录

只需一步,快速开始

lzh3452

论坛元老

32

主题

188

帖子

1万

积分

论坛元老

积分
18686

活字格认证

lzh3452
论坛元老   /  发表于:2012-8-13 17:37  /   查看:9842  /  回复:11
我的列头有两行,9列,其中有两列是占两行的,还有一个列头是占三列的。我想下面的数据部分也是同样的格式,但行数不固定,根据DB数据决定的。
该如何设置?总不能一个一个的设置吧?

11 个回复

倒序浏览
lzh3452
论坛元老   /  发表于:2012-8-13 17:40:00
沙发
图传不上去,IE和谷歌都不好使,服务器内部错误。
回复 使用道具 举报
lzh3452
论坛元老   /  发表于:2012-8-14 09:48:00
板凳
还有一个问题,这种情况下,怎么设置才能让点击一个Cell时,同时选中两行?就是被合并的两行同时选中。
上帝给我大脑――于是我思考;上帝给我双脚――于是我奔跑;上帝给我十指――于是我上网。经过思考,我奔跑着来上网……
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-8-14 16:49:00
地板
第一个需求是需要通过代码一个一个添加的

第二个需求要在选中单元格改变时通过fpSpread1.ActiveSheet.Models.Selection.AddSelection(X, 0, 2, 9);来设置两行都被选中。
回复 使用道具 举报
lzh3452
论坛元老   /  发表于:2012-8-14 17:31:00
5#
回复 4楼dof的帖子

⊙﹏⊙b汗~~~那这种Spread能使用数据绑定么?怎么做?
上帝给我大脑――于是我思考;上帝给我双脚――于是我奔跑;上帝给我十指――于是我上网。经过思考,我奔跑着来上网……
回复 使用道具 举报
lzh3452
论坛元老   /  发表于:2012-8-14 17:37:00
6#
回复 4楼dof的帖子

第一个逐行设置太低效了,我现在有五万行,光设置格式就要花好久,这也太慢了,没有什么高效的方式么?
上帝给我大脑――于是我思考;上帝给我双脚――于是我奔跑;上帝给我十指――于是我上网。经过思考,我奔跑着来上网……
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-8-14 20:07:00
7#
如果是按照数据自动合并可以使用FpSpread1.ActiveSheetView.SetRowMerge或者FpSpread1.ActiveSheetView.SetColumnMerge方法。
但是第一个需求,因为是需要完全自定义的合并,所以需要一个一个的设置。
回复 使用道具 举报
lzh3452
论坛元老   /  发表于:2012-8-15 08:44:00
8#
回复 7楼dof的帖子

根据数据自动合并能否给个Demo,还有数据绑定的方式,如果是一行一条数据的话,直接把数据源绑定上就行,这种两行一条数据,而且两行列标题的,又如何做呢?能否也给个Demo?
上帝给我大脑――于是我思考;上帝给我双脚――于是我奔跑;上帝给我十指――于是我上网。经过思考,我奔跑着来上网……
回复 使用道具 举报
lzh3452
论坛元老   /  发表于:2012-8-15 09:11:00
9#
回复 7楼dof的帖子

SetRowMerge还是算了,只是线没了,格还在,不美观。还是说说数据绑定吧!
上帝给我大脑――于是我思考;上帝给我双脚――于是我奔跑;上帝给我十指――于是我上网。经过思考,我奔跑着来上网……
回复 使用道具 举报
lzh3452
论坛元老   /  发表于:2012-8-15 16:38:00
10#
回复 7楼dof的帖子

下面的代码怎么能让三个“13”和后面的“07”都合并呢?第一列可以正常合并,但最后一列不行。
“13”那个如果放上面一行就合并,放下面就不合并,这个有办法么?
  1.     public partial class Form1 : Form
  2.     {
  3.         public Form1()
  4.         {
  5.             InitializeComponent();
  6.         }
  7.         private DataTable dtData = new DataTable();
  8.         private void Form1_Load(object sender, EventArgs e)
  9.         {
  10.             dtData.Columns.Add(new DataColumn());
  11.             dtData.Columns.Add(new DataColumn());
  12.             dtData.Columns.Add(new DataColumn());
  13.             dtData.Columns.Add(new DataColumn());
  14.             dtData.Columns.Add(new DataColumn());
  15.             dtData.Columns.Add(new DataColumn());
  16.             dtData.Columns.Add(new DataColumn());
  17.             dtData.Columns.Add(new DataColumn());
  18.             for (int i = 0; i < 20000; i++)
  19.             {
  20.                 DataRow drData = dtData.NewRow();
  21.                 drData[0] = "00" + i;
  22.                 drData[1] = "01";
  23.                 drData[2] = "02";
  24.                 drData[3] = "03";
  25.                 drData[4] = "04";
  26.                 drData[5] = "05";
  27.                 drData[6] = "06";
  28.                 drData[7] = "07";
  29.                 dtData.Rows.Add(drData);
  30.                 drData = dtData.NewRow();
  31.                 drData[0] = "00" + i;
  32.                 drData[1] = "11";
  33.                 drData[2] = "12";
  34.                 drData[3] = "13";
  35.                 drData[4] = "13";
  36.                 drData[5] = "13";
  37.                 drData[6] = "16";
  38.                 drData[7] = "07";
  39.                 dtData.Rows.Add(drData);
  40.             }
  41.             fpSpread1_Sheet1.RowCount = 0;
  42.             fpSpread1_Sheet1.RowCount = 10;
  43.         }

  44.         private void fpSpread1_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e)
  45.         {
  46.             fpSpread1_Sheet1.RowCount = dtData.Rows.Count;
  47.             fpSpread1.ActiveSheet.SetRowMerge(-1, FarPoint.Win.Spread.Model.MergePolicy.Restricted);
  48.             fpSpread1.ActiveSheet.SetColumnMerge(-1, FarPoint.Win.Spread.Model.MergePolicy.Restricted);
  49.             fpSpread1.SetBounds(fpSpread1.Bounds.X, fpSpread1.Bounds.Y, fpSpread1.Bounds.Width + 1, fpSpread1.Bounds.Height);
  50.             fpSpread1.ActiveSheet.DataAutoSizeColumns = false;
  51.             fpSpread1.ActiveSheet.DataSource = dtData;

  52.         }
  53.     }
复制代码
上帝给我大脑――于是我思考;上帝给我双脚――于是我奔跑;上帝给我十指――于是我上网。经过思考,我奔跑着来上网……
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部