找回密码
 立即注册

QQ登录

只需一步,快速开始

ChinaBoyZY
论坛元老   /  发表于:2013-4-15 09:56:00
61#
您好,在吗?我们这边急着要.希望尽快能解决!谢谢
回复 使用道具 举报
ChinaBoyZY
论坛元老   /  发表于:2013-4-15 10:56:00
62#
由于文件太大,分成了好多压缩包!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
ChinaBoyZY
论坛元老   /  发表于:2013-4-15 11:04:00
63#
FarPoint.Win.Spread.dll   FarPoint.Win.Spread.xml  FarPoint.Win.dll这些都发不过去.我现在把我.cs文件发给你.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
ChinaBoyZY
论坛元老   /  发表于:2013-4-15 11:16:00
64#
您好,在吗?
回复 使用道具 举报
ChinaBoyZY
论坛元老   /  发表于:2013-4-15 16:09:00
65#
你好,做的怎么样了?这边客户现在需要看下效果?你那边方便吗
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-4-15 16:11:00
66#
首先添加以下函数:
  1.     private string GetTime(int time)
  2.     {
  3.         int hour = 0;
  4.         int minute = 0;
  5.         hour = time / 60;
  6.         minute = time % 60;
  7.         return string.Format("{0:d2}:{1:d2}", hour, minute);
  8.     }
复制代码


然后修改Form2_Load中的 DateTime dt = Convert.ToDateTime("07:53"); 代码,修改之后为:
  1.     // 设置第一列单元格数据
  2.     //DateTime dt = Convert.ToDateTime("07:53");
  3.     int hours = 25; // 假设时间带总共要显示25个小时
  4.     int time = 4 * 60 + 53; // 起始时间为 04:53

  5.     for (int i = 0; i < (hours * 4 + 1) * 15; i++)
  6.     {
  7.         fpSpread1.ActiveSheet.SetValue(i, 0, GetTime(time + i));
  8.     }

  9.     fpSpread1.ActiveSheet.ClearRange(0, 0, 7, 1, true);
  10.     fpSpread1.ActiveSheet.Models.Span.Add(0, 0, 7, 1);

  11.     for (int i = 0; i < (hours * 4 + 1); i++)
  12.     {
  13.         fpSpread1.ActiveSheet.Models.Span.Add(i * 15 + 7, 0, 15, 1);
  14.     }
复制代码
回复 使用道具 举报
ChinaBoyZY
论坛元老   /  发表于:2013-4-15 17:20:00
67#
您好,时间带显示,我们只需要更改[00:00]改成[24:00]
[1:00]改成[25:00],其他的正常显示!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-4-15 18:01:00
68#
你是指25:15及其以后的时间都不需要显示,我的理解对吗?

如果是这样,你调整 hours 参数的值就可以了,实现思路就是通过GetTime返回正确的时间显示形式:
  1.             #region 设置 Spread 属性和数据

  2.             int hours = 20; // 假设时间带总共要显示25个小时
  3.             int time = 4 * 60 + 53; // 起始时间为 04:53

  4.             fpSpread1.AllowDrop = true;
  5.             fpSpread1.DragEnter += new DragEventHandler(fpSpread1_DragEnter);
  6.             fpSpread1.DragDrop += new DragEventHandler(fpSpread1_DragDrop);
  7.             fpSpread1.SelectionChanging += new SelectionChangingEventHandler(fpSpread1_SelectionChanging);
  8.             fpSpread1.HorizontalScrollBar.Visible = false;
  9.             fpSpread1.ActiveSheet.RowHeader.Visible = false;
  10.             fpSpread1.ActiveSheet.Rows.Default.Height = 2;
  11.             fpSpread1.ActiveSheet.RowCount = (4 * hours * 15 + 1);
  12.             fpSpread1.ActiveSheet.ColumnCount = 3;
  13.             fpSpread1.ActiveSheet.Columns[0].Label = "时间带";
  14.             fpSpread1.ActiveSheet.Columns[1].Label = "计划";
  15.             fpSpread1.ActiveSheet.Columns[1].Width = 200;
  16.             fpSpread1.ActiveSheet.Columns[2].Label = "实际";
  17.             fpSpread1.ActiveSheet.Columns[2].Width = 200;           

  18.             // 设置第一列单元格数据
  19.             for (int i = 0; i < ((hours * 4) * 15 + 1); i++)
  20.             {
  21.                 fpSpread1.ActiveSheet.SetValue(i, 0, GetTime(time + i));
  22.             }

  23.             fpSpread1.ActiveSheet.ClearRange(0, 0, 7, 1, true);
  24.             fpSpread1.ActiveSheet.Models.Span.Add(0, 0, 7, 1);

  25.             for (int i = 0; i < (hours * 4 + 1); i++)
  26.             {
  27.                 fpSpread1.ActiveSheet.Models.Span.Add(i * 15 + 7, 0, 15, 1);
  28.             }

  29.             // 设置第一列单元格样式
  30.             fpSpread1.ActiveSheet.Columns[0].Locked = true;
  31.             fpSpread1.ActiveSheet.Columns[0].HorizontalAlignment = CellHorizontalAlignment.Right;
  32.             fpSpread1.ActiveSheet.Columns[0].VerticalAlignment = CellVerticalAlignment.Center;
  33.             fpSpread1.ActiveSheet.Columns[0].Border = new FarPoint.Win.LineBorder(Color.White, 1, false, false, false, true);

  34.             for (int i = 0; i < (hours * 4 + 1); i++)
  35.             {
  36.                 fpSpread1.ActiveSheet.Models.Span.Add(i * 15, 1, 15, 1);
  37.                 fpSpread1.ActiveSheet.Models.Span.Add(i * 15, 2, 15, 1);
  38.             }

  39.             fpSpread1.ActiveSheet.Rows[0, 8].Visible = false;

  40.             #endregion

  41.             fpSpread1.ActiveSheet.FrozenTrailingRowCount = 1;
  42.             fpSpread1.ActiveSheet.Rows[hours * 4 * 15].Height = 20;
  43.             fpSpread1.ActiveSheet.Rows[hours * 4 * 15].BackColor = Color.Wheat;
  44.             fpSpread1.ActiveSheet.SetValue(hours * 4 * 15, 0, "合计");   
复制代码
回复 使用道具 举报
ChinaBoyZY
论坛元老   /  发表于:2013-4-15 18:26:00
69#
我的意思就是如图显示的那样, 只需要改变那八个时间段的,其他的时间照旧,该是几点,显示几点!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
ChinaBoyZY
论坛元老   /  发表于:2013-4-15 18:27:00
70#
你好,在啊?你理解错了.现在帮我解决下.这边还在等着用呢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部