节日日历控件 Web 部件






3.80/5 (6投票s)
一种创建带 ListView 连接的日历控件 Web 部件的简便方法。

引言
在本示例中,我们将构建一个日历控件 WebPart,它显示在同一网页上由标准 ListView
WebPart 定义的汇总假日。
背景
为了为 SharePoint 服务器(在本例中为 VS2008)开发 WebPart,我们需要 VS SharePoint 扩展。
Using the Code
步骤 1:创建一个名为“MyCalendar
”的新项目。选择信任级别为完全信任(部署到 GAC)。

删除解决方案中默认创建的 Webpart1 文件夹。
将一个新的 WebPart 控件添加到您的 mycalender 项目,并将其命名为 MyCalendarControl
。

将 System.Data
和 System.Drawing
引用添加到您的项目(在 .NET 选项卡下)。之后,您将在解决方案资源管理器中看到以下类似的文件结构

以下字段负责创建到列表 WebPart 的连接
private IWebPartTable _provider;
private ICollection _tableData;
[ConnectionConsumer("Holiday List")]
属性对于 WebPart 消费来自 WebPart 的数据是必要的。
现在我们将调用 DayRenderEventhandler
,因此我们需要添加
CusCalender.DayRender += new DayRenderEventHandler(CusCalender_DayRender);
为了根据列表值填充日历日期的颜色,我们必须遍历 _tableData
集合
if (_tableData != null) {
foreach (DataRowView rowView in _tableData) {
string widgetCode = rowView.Row[1].ToString();
DateTime dateSold = Convert.ToDateTime(rowView.Row[2].ToString());
if (dateSold.Date == e.Day.Date.Date) {
e.Cell.BackColor = Color.Red;
e.Cell.ToolTip = widgetCode;
String url = e.SelectUrl;
e.Cell.Controls.Clear();
HyperLink link = new HyperLink();
link.Text = e.Day.Date.Day.ToString();
link.ToolTip = widgetCode;
link.NavigateUrl = url;
e.Cell.Controls.Add(link);
}
}
}
现在我们的开发部分已经完成。我们必须设置部署部分。为此,右键单击您的项目,进入项目属性,并设置您想要测试的 MOSS 站点。在我的例子中,它是 http://moss:2397/

现在构建项目并部署它。成功部署后,您可以在 WebPart 图库中看到您的 WebPart。
现在将该 WebPart 添加到您的页面。为此,转到站点操作->编辑页面->添加 WebPart

下一步是创建一个包含假日和日期的列表。
创建一个 Excel 文件,并在工作表中输入假日。

为此,转到站点操作->创建->自定义列表->从电子表格导入,将其命名为 OurHolidays
并选择工作表范围,或者您可以手动创建它,而不是通过导入电子表格。

然后,您将获得以下类型的列表

现在转到主页并将该列表添加到您的页面。
添加后,您将获得类似于以下页面的页面

现在创建到列表的连接

就是这样。
历史
- 2009年10月5日:初始更新