65.9K
CodeProject 正在变化。 阅读更多。
Home

节日日历控件 Web 部件

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.80/5 (6投票s)

2009年9月18日

CPOL

2分钟阅读

viewsIcon

32465

downloadIcon

531

一种创建带 ListView 连接的日历控件 Web 部件的简便方法。

1.JPG

引言

在本示例中,我们将构建一个日历控件 WebPart,它显示在同一网页上由标准 ListView WebPart 定义的汇总假日。

背景

为了为 SharePoint 服务器(在本例中为 VS2008)开发 WebPart,我们需要 VS SharePoint 扩展

Using the Code

步骤 1:创建一个名为“MyCalendar”的新项目。选择信任级别为完全信任(部署到 GAC)。

2.JPG

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

3.JPG

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

4.JPG

以下字段负责创建到列表 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/

5.JPG

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

6.JPG

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

7.JPG

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

8.JPG

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

9.JPG

现在转到主页并将该列表添加到您的页面。

添加后,您将获得类似于以下页面的页面

10.JPG

现在创建到列表的连接

11.JPG

就是这样。

历史

  • 2009年10月5日:初始更新
© . All rights reserved.