听棠.NET

用积极乐观的心态,面对压力
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

让NetAdvantage日历控件的“星期几”变为“几”

Posted on 2005-06-21 12:17  听棠.NET  阅读(8043)  评论(15编辑  收藏  举报
在NetAdvantage中有且个日历控件,这个控件不但外观漂亮而且功能也是极强,可以在上面显示每天的日程安排,如例图:

但我遇到一个问题,就是在显示这个“星期几”的地方,calendar确实提供了几种显示方式

根据这几个属性:
Full的话,显示为“星期一,星期二...."这会导致比较长,有时我们在小型日历上特别难看
三个字都竖起来排列了
Short的话,没有效果
FirstLetter的话,只显示一个“星”字,这样就无法区分具体星期几了。
FirstTwoLetters的话,则只显示“星期”两个字,也无法区分。

以上的这些方式 ,对于英文环境应该是比较好的效果,而对中文却不尽人意,可知NetAdvantage对于中文的支持还不算好啊。

因此,我想要的效果,就是只显示“一,二,三,四,五,六,日”
为了实现这样的效果,我们只能客户端代码手动来处理了,由于本人的JS水平 不高,也特地问了ttyp高手的。

1.在Calendar的客户端事件InitializeCalendar上添加一个方法叫SetWeekName
2.在客户端中写上如下的客户端方法:
function SetWeekName()
{
    
var tr=document.getElementById("WebCalendar1_514");    
    
for(var i=0;i<tr.cells.length;i++)
    {
    
var td = tr.cells[i];
    td.innerHTML 
= td.innerHTML.replace("星期","");
    }
        
}

这是由于在Calendar呈现到界面上时,星期部分的Id是"WebCalendar1_514",所以通过找到这个TR以后,对TR里的每个TD进行“星期”字样的替换。
而且由于是在InitializeCalendar事件中,所以在页面呈现时看不到被替换的过程闪动,效果比较好。

左面那个Calendar就是最终效果。

当然,不知道有没有其他更好的办法了。