删除 'dojox.Calendar' 中的周数列

Remove week number column in 'dojox.Calendar'

我有一个 dojox/calendar/CalendardateInterval: 'month',我想删除出现的周数列。有没有办法通过任何 属性 在日历对象创建中做到这一点?

您有两种方法可以做到这一点。

  1. 困难的方法:扩展dojox/calendar/Calendar并进行更改(需要阅读所有源代码以应用更改)。
  2. 最简单的方法:是对生成的应用更改并设置一些新样式 您需要 dojo/dom-constructdojo/dom-style 才能请求渲染。

这里是第二种方式的演示: 并不是说我仍然将年份放在工具栏的右上角以了解您当前所在的年份。

您可以在此 Fiddle 中查看演示或查看上面的代码片段:

require(["dojo/ready", "dojo/_base/declare", "dojox/calendar/Calendar", "dojo/dom-construct","dojo/dom-style","dojo/domReady!"],
function (ready, declare, Calendar,domConstruct,domStyle) {

 calendar = new Calendar({
    date: new Date(),
    dateInterval: "month",
    style: "position:relative;width:90%;height:90%",
  }, "calendar");
        
  domStyle.set(calendar.matrixView.columnHeader,'left','0px');
  domStyle.set(calendar.matrixView.columnHeader,'border-left','1px solid #B5BCC7');
  domStyle.set(calendar.matrixView.grid,'left','0px');
  domStyle.set(calendar.matrixView.grid,'border-left','1px solid #B5BCC7');
  domStyle.set(calendar.matrixView.itemContainer,'left','0px');
  domConstruct.destroy(calendar.matrixView.rowHeader);
domConstruct.place(calendar.matrixView.yearColumnHeader,calendar.matrixView.buttonContainer,"last");   
  domStyle.set(calendar.matrixView.yearColumnHeader,'margin-right','10px');
  domStyle.set(calendar.matrixView.yearColumnHeader,'margin-top','-23px');
  domStyle.set(calendar.matrixView.yearColumnHeader,'float','right');
  
});
html, body {
    height: 100%;
    padding: 0; 
    margin: 0;
    font-family: Lucida Sans,Lucida Grande,Arial !important;
    font-size: 13px !important;
    background: white;
    color: #333;
}
<link href="https://ajax.googleapis.com/ajax/libs/dojo/1.8.3/dojox/calendar/themes/claro/Calendar.css" rel="stylesheet"/>
<link href="https://ajax.googleapis.com/ajax/libs/dojo/1.8.3/dijit/themes/claro/claro.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js"></script>
<body class="claro">
  <div id="calendar"></div>
</body>