日历中的日视图算法研究

hqpy 2015-06-08 11:52:50
大家有没有人研究过Exchange中的日历日视图的显示算法,如下图所示:

主要是各个日历项的宽度和位置(width,left)等属性值如何计算出来?
谢谢各位大牛!
...全文
267 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
还想懒够 2015-06-12
  • 打赏
  • 举报
回复
Exchange中的Meeting是每半个小时为一个间隔。 因此,你可以将一天转成最多48个间隔(24小时*2),然后再使用合并单元格,全部用Table来展示。
於黾 2015-06-12
  • 打赏
  • 举报
回复
引用 5 楼 hqpy 的回复:
这个算法虽然还算过的去,但有时会有某种特殊的数据情况下,显示还是有问题,错位比较严重,我查看了outlook或者sharepoint中的日历显示确是很精确,但通过反编译也没能查到完整的计算方法。不知有哪位大牛曾经研究过?
我估计你是在小数转整数的时候四舍五入算法有问题 不如这样 如果需要分成N段 你只计算前面N-1段的宽度,第N段的宽度=全宽-(前面的相加) 坐标也一样,不要直接计算出坐标,而是坐标=左边格子的坐标+左边格子的宽度
hqpy 2015-06-12
  • 打赏
  • 举报
回复
这个算法虽然还算过的去,但有时会有某种特殊的数据情况下,显示还是有问题,错位比较严重,我查看了outlook或者sharepoint中的日历显示确是很精确,但通过反编译也没能查到完整的计算方法。不知有哪位大牛曾经研究过?
lyxs8888 2015-06-08
  • 打赏
  • 举报
回复
这个 你用量尺工具啊 有的大小不同的
  • 打赏
  • 举报
回复
估计用的绝对定位吧,这个要看html才知道
tcmakebest 2015-06-08
  • 打赏
  • 举报
回复
宽度就是按比例分配,楼主的算法不错了,只是一些像素零头有误差,算法调整一下。 比如10个点分成4份,先算出分界线:0,2,5,7,10,这样宽度就分别是 2,3,2,3。
hqpy 2015-06-08
  • 打赏
  • 举报
回复
楼上的,这里的定位肯定是用绝对定位的,但某一天中日程数据的条数是不固定的,如何计算所有日程项在当前页面中所占的宽度比例?和定位到离左边的距离?这才是关键,类似下面这种情况:

这是我自己计算尽寸和定位的,但不是特别精确

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧