问题描述
大家有没有人研究过Exchange中的日历日视图的显示算法,如下图所示:主要是各个日历项的宽度和位置(width,left)等属性值如何计算出来?谢谢各位大牛!
解决方案
解决方案二:
估计用的绝对定位吧,这个要看html才知道
解决方案三:
这个你用量尺工具啊有的大小不同的
解决方案四:
楼上的,这里的定位肯定是用绝对定位的,但某一天中日程数据的条数是不固定的,如何计算所有日程项在当前页面中所占的宽度比例?和定位到离左边的距离?这才是关键,类似下面这种情况:这是我自己计算尽寸和定位的,但不是特别精确
解决方案五:
宽度就是按比例分配,楼主的算法不错了,只是一些像素零头有误差,算法调整一下。比如10个点分成4份,先算出分界线:0,2,5,7,10,这样宽度就分别是2,3,2,3。
解决方案六:
这个算法虽然还算过的去,但有时会有某种特殊的数据情况下,显示还是有问题,错位比较严重,我查看了outlook或者sharepoint中的日历显示确是很精确,但通过反编译也没能查到完整的计算方法。不知有哪位大牛曾经研究过?
解决方案七:
引用5楼hqpy的回复:
这个算法虽然还算过的去,但有时会有某种特殊的数据情况下,显示还是有问题,错位比较严重,我查看了outlook或者sharepoint中的日历显示确是很精确,但通过反编译也没能查到完整的计算方法。不知有哪位大牛曾经研究过?
我估计你是在小数转整数的时候四舍五入算法有问题不如这样如果需要分成N段你只计算前面N-1段的宽度,第N段的宽度=全宽-(前面的相加)坐标也一样,不要直接计算出坐标,而是坐标=左边格子的坐标+左边格子的宽度
解决方案八:
Exchange中的Meeting是每半个小时为一个间隔。因此,你可以将一天转成最多48个间隔(24小时*2),然后再使用合并单元格,全部用Table来展示。
时间: 2024-09-29 16:21:26