找回密码
 立即注册

QQ登录

只需一步,快速开始

ChinaBoyZY
论坛元老   /  发表于:2013-7-1 09:43  /   查看:11502  /  回复:10
如图(拖动的时间显示.jpg),拖动任务块的上边框向上或者下边框向下拉,c1SuperTooltip1设置的时间也会正确显示,但是反过来,上边框向下或者下边框向上拉,这样c1SuperTooltip1设置的时间显示的就只是任务块的开始时间(如图下边框向上.jpg),如何修改上边框向下拉动,下边框向上拉动c1SuperTooltip1显示的时间是鼠标拉动到的时间呢?

拖动的时间显示.jpg

55.8 KB, 下载次数: 1170

下边框向下拉动,右侧的c1SuperTooltip1显示的时间是正确的

下边框向上.jpg

54.16 KB, 下载次数: 1159

下边框向上拉动,c1SuperTooltip1显示的时间不对了

10 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2013-7-1 18:16:00
沙发
回复 1楼ChinaBoyZY的帖子

ChinaBoyZY 你好,

根据当前信息我无法重现问题,能否把 Demo 发到论坛调试?
回复 使用道具 举报
ChinaBoyZY
论坛元老   /  发表于:2013-7-2 10:17:00
板凳
在WindowsFormsApplication1中拖一个节点到右侧的FpSpread中,然后把任务块托大点,然后鼠标定位在任务块的下边缘,向上拖动,看看左侧的提示时间显示(时间总是显示任务块最上边缘的时间)?
回复 使用道具 举报
ChinaBoyZY
论坛元老   /  发表于:2013-7-2 10:26:00
地板
在WindowsFormsApplication1中拖一个节点到右侧的FpSpread中,然后把任务块托大点,然后鼠标定位在任务块的下边缘,向上拖动,看看左侧的提示时间显示(时间总是显示任务块最上边缘的时间)?

WindowsFormsApplication1.rar

75.2 KB, 下载次数: 1131

回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-7-2 18:43:00
5#
回复 4楼ChinaBoyZY的帖子

查看了你的代码,tooltip 是使用

  1.   c1SuperTooltip1.Show(dt.AddMinutes(hi.ViewportInfo.Row).ToString("hh:mm"), this, e.X + 10, e.Y + 10);
复制代码

来实现的,在这里需要通过获取正确单元格的值来设置显示时间。
回复 使用道具 举报
ChinaBoyZY
论坛元老   /  发表于:2013-7-3 13:51:00
6#
这个我知道,现在计算都是没问题的,就是我问的那个问题实现不了。
我这边猜测的原因是,由于我们用FpSpread实现拖拽功能,这样就相当于Excel中的单元格合并。这样就会遇到问题,当下边界向下拉,可以正确的计算合并几个单元格,但是再向上拖动时,由于上面的单元格都被合并了,此时就找不到对应的单元格了。所以时间只能显示任务块最开始的时间。
这样说你能明白吗?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-7-4 12:00:00
7#
回复 6楼ChinaBoyZY的帖子

你好,
在向上拖动时,可以抓到该合并单元格吧?你可以先把它拆分,然后抓起进行 tooltip 设置。
回复 使用道具 举报
ChinaBoyZY
论坛元老   /  发表于:2013-7-4 14:09:00
8#
这个,就是不懂怎么在拆分的啊?麻烦你解说下吧,例子还以上次发给你的那个
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-7-4 16:44:00
9#
回复 8楼ChinaBoyZY的帖子

参考代码如下:

  1. else if ((e.Button & MouseButtons.Left) == MouseButtons.Left)
  2.             {
  3.                 HitTestInformation hi = fpSpread1.HitTest(e.X, e.Y);
  4.                 if (fpSpread1.Cursor == Cursors.Cross)//获取上/下双向大小调整
  5.                 {
  6.                     Drag = true;
  7.                     DateTime dt = Convert.ToDateTime("04:46");
  8.                     FarPoint.Win.Spread.Model.CellRange cr = fpSpread1.ActiveSheet.Models.Span.Find(hi.ViewportInfo.Row, hi.ViewportInfo.Column);
  9.                     //移除合并单元格方法
  10.                     fpSpread1.ActiveSheet.Models.Span.Remove(hi.ViewportInfo.Row, hi.ViewportInfo.Column);
  11.                     c1SuperTooltip1.Show(dt.AddMinutes(hi.ViewportInfo.Row).ToString("hh:mm"), this, e.X + 10, e.Y + 10);
  12.                     if (cr != null)
  13.                     {
  14.                         if (fpSpread1.ActiveSheet.Cells[cr.Row, cr.Column].Value == null)
  15.                         {
  16.                             fpSpread1.ActiveSheet.Models.Span.Remove(cr.Row, cr.Column);
  17.                         }
  18.                         else
  19.                         {
  20.                             //MessageBox.Show("工作任务重复!!");
  21.                         }
  22.                     }

  23.                 }
复制代码
回复 使用道具 举报
ChinaBoyZY
论坛元老   /  发表于:2013-7-5 09:05:00
10#
3q:g~ij:
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部