asp.net3.5 csharp Calendar 控件显示周次

ExpandedBlockStart.gif javascript代码
 1       < script type = " text/javascript " >
 2           function  addWkColumn(tblId, wkStart)
 3          {
 4               var  tbl  =  document.getElementById(tblId);
 5 
 6               var  tblBodyObj  =  tbl.tBodies[ 0 ];
 7               for  ( var  i = 0 ; i < tblBodyObj.rows.length; i ++
 8              {
 9                   //  Month Header
10                   if  (i == 0 )
11                  {
12                       //  Add extra colspan column
13                      tblBodyObj.rows[i].cells[ 0 ].colSpan = 8 ;
14                  }
15                   //  Week Header
16                   if  (i == 1 )
17                  {
18                       //  Add week column headline
19                       var  newCell  =  tblBodyObj.rows[i].insertCell( 0 );
20                      newCell.innerHTML  =   ' wk ' ;
21                      newCell.style.fontSize =   ' 8px ' ;
22                      newCell.style.fontWeight =   ' bold ' ;
23                      newCell.style.verticalAlign =   ' bottom ' ;
24                      newCell.style.backgroundColor  =   ' #ffffee ' ;
25                  }    
26                      
27                   //  Normal row
28                   if  (i  >=   2  )
29                  {
30                       //  Add the weeknumbers
31                       var  newCell  =  tblBodyObj.rows[i].insertCell( 0 );
32                       if  (tblBodyObj.rows[i].cells[ 1 ].style.color  !=   ' white '   ||  tblBodyObj.rows[i].cells[ 2 ].style.color  !=   ' white '   ||  tblBodyObj.rows[i].cells[ 3 ].style.color  !=   ' white '   ||  tblBodyObj.rows[i].cells[ 4 ].style.color  !=   ' white '   ||  tblBodyObj.rows[i].cells[ 5 ].style.color  !=   ' white '   ||  tblBodyObj.rows[i].cells[ 6 ].style.color  !=   ' white '   ||  tblBodyObj.rows[i].cells[ 7 ].style.color  !=   ' white '   )
33                      {
34                          newCell.innerHTML  =  wkStart;
35                          wkStart  +=   1 ;
36                      }
37                      newCell.style.fontSize =   ' 8px ' ;
38                      newCell.style.backgroundColor  =   ' #ffffee ' ;
39                  }
40              }
41          }
42 
43           < / script>

C#代码

 

ExpandedBlockStart.gif csharp 代码
  1  // 涂聚文注:在1月份的周次显示出显问题,请能纠正过来修改,谢谢
  2       protected   void  Page_Load( object  sender, EventArgs e)
  3      {
  4          HtmlHead head  =  (HtmlHead)Page.Header;
  5           this .Calendar1.ToolTip  =   " 缔友计算机信息技术有限有公司日历 " ;
  6 
  7          Page.Header.Title  =   " 缔友计算机信息技术有限有公司日历--显示周次 " ;
  8          HtmlMeta meta  =   new  HtmlMeta();
  9          meta.Name  =   " Author " ;
 10          meta.Attributes.Add( " Content  " " geovindu " );
 11          head.Controls.AddAt( 1 , meta);
 12 
 13          HtmlMeta key  =   new  HtmlMeta();
 14          key.Name  =   " keywords " ;
 15          key.Attributes.Add( " Content  " " Geovin Du " );
 16          head.Controls.AddAt( 2 , key);
 17 
 18          HtmlLink ico  =   new  HtmlLink();
 19          ico.Href  =   " ~/favicon.ico " ;
 20          ico.Attributes.Add( " rel " " icon " );
 21          ico.Attributes.Add( " type " " image/ico " );
 22          head.Controls.AddAt( 3 , ico);
 23 
 24 
 25          HtmlLink bookmark  =   new  HtmlLink();
 26          bookmark.Href  =   " ~/favicon.ico " ;
 27          bookmark.Attributes.Add( " rel " " bookmark " );
 28           // bookmark.Attributes.Add("type", "image/ico");
 29          head.Controls.AddAt( 4 , bookmark);
 30 
 31          HtmlLink shortcut  =   new  HtmlLink();
 32          shortcut.Href  =   " ~/favicon.ico " ;
 33          shortcut.Attributes.Add( " rel " " shortcut icon " );
 34          shortcut.Attributes.Add( " type " " image/x-icon " );
 35          head.Controls.AddAt( 5 , shortcut);
 36 
 37          HtmlMeta description  =   new  HtmlMeta();
 38          description.Name  =   " description " ;
 39          description.Attributes.Add( " Content  " " 涂聚文,缔友计算机信息技术有限公司,经营信息流,物流,人力资源流,资本流的系统解决方案的开发与设计和服务 " );
 40          head.Controls.AddAt( 6 , description);
 41           int  i = getISOWeek(DateTime.Today);
 42          Response.Write(i.ToString() + " weeks " );
 43          Response.Write(Calendar1.TodaysDate.ToShortDateString());
 44          
 45      }
 46       ///  
 47       ///  添加周列
 48       ///  

 49       ///  
 50       private   void  addWeekNumberColumn(DateTime curMonth) //
 51      {
 52           string  jscript;
 53           //DateTime   curMonth = Convert.ToDateTime(Calendar1.VisibleDate.Year.ToString() + "-" + Calendar1.VisibleDate.Month.ToString() + "-01");
Get the date shown in the calendar control
 54          //  curMonth = Calendar1.VisibleDate;
 55          
 56           //  Find first day of the current month
 57           //  58 
 59           //  Build javascript
 60  //         if (curMonth.Month == 1 && curMonth.Day == 1)
 61  //         {
 62  //             int w = 1;
 63  //              jscript = @" 
 64  //                         addWkColumn('" + Calendar1.ClientID + "', " + w.ToString() + @");
 65  //                         ";
 66  //         }
 67          jscript  =   @"  
 68                          addWkColumn(' "   +  Calendar1.ClientID  +   " ',  "   +  getISOWeek(curMonth).ToString()  +   @" );
 69                           " ;
 70 
 71           //  Add script to page for execution of addWkColumn javascript function
 72          Page.ClientScript.RegisterStartupScript( this .GetType(),  " AddWeeknumbers " , jscript);
 73      }
 74 
 75       ///  
 76       ///  获取几周
 77       ///  

 78       ///  
 79       ///  
 80       private   int  getISOWeek(DateTime day)
 81      {
 82           return  System.Globalization.CultureInfo.CurrentCulture.Calendar.GetWeekOfYear(day, System.Globalization.CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);
 83      }
 84 
 85 
 86       protected   void  Calendar1_PreRender( object  sender, EventArgs e)
 87      {
 88           if  (Calendar1.VisibleDate.Year  ==   1   &&  Calendar1.VisibleDate.Month  ==   1 )
 89          {
 90               //  Add weeknumbers
 91              DateTime curMonth  =  Calendar1.TodaysDate;
 92              Calendar1.VisibleDate  =   new  DateTime(curMonth.Year, curMonth.Month,  1 );
 93              addWeekNumberColumn(Calendar1.VisibleDate);
 94          }
 95           if  (Calendar1.VisibleDate.Month  ==   1 )
 96          {
 97               // DateTime curMonth;
 98              Calendar1.VisibleDate  =   new  DateTime(Calendar1.VisibleDate.Year,  1 1 );
 99              addWeekNumberColumn(Calendar1.VisibleDate);
100          }
101          Calendar1.VisibleDate  =   new  DateTime(Calendar1.VisibleDate.Year, Calendar1.VisibleDate.Month,  1 );
102 
103          addWeekNumberColumn(Calendar1.VisibleDate);
104 
105           int  i  =  getISOWeek(Calendar1.VisibleDate);
106          Response.Write(i.ToString()  +   " weeks " );
107      }

 

 

你可能感兴趣的:(asp.net3.5 csharp Calendar 控件显示周次)