Sharepoint2010应用开发二:使用列表 Web Service操作列表
我们使用在上篇文章sharepoint2010:使用服务端对象模型(Server-Side Object Model)操作列表 中创建的列表Blog.
先看下最终效果图:
1、 创建项目,打开VS->File->New->Project,选择.Net Framework 3.5,在左边的面板中选中Office,选择 Excel 2010 Add-In,如下图,
2、 当VS为你创建好项目后,右击项目名称,选择Add->New Item,找到WPF节点,选择WPF User Control.提供一个名字,如:BlogUserControl
3、 切换到此控件的设计视图,并为它添加4个Label,一个listbox,两个textbox,和两个button ,如下图:
4、 分别双击两个按钮,为它们添加事件
5、 添加List Web Service引用,右击项目名称,选择添加服务引用(Add Service Reference),在打开的面板中点击高级(Advance)按钮,选择添加Web Reference。
6、 如果你在Sharepoint 站点的机器上开发,你可以点击本机上的Web服务,当你选择Sharepoint List Service,你就可以看到所有的可用的 List的方法。如图:
7、 给BlogUserControl.xaml.cs添加如下引用:
using System.Web.Services.Protocols;
8、 添加一个Blog.cs类,代码如下:
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BlogList
{
class Blog
{
public string blogTitle { get; set; }
public string blogContent { get; set; }
public string blogAuthor { get; set; }
}
}
9、 为BlogUserControl.xaml.cs添加如下代码:
{
List<Blog> myProducts = new List<Blog>();
public BlogUserControl()
{
InitializeComponent();
}
…
}
10、 为两个按钮添加事件代码:
代码见附件
11、 还有一个事件是listbox的SelectChanged事件
代码见附件
12、 尽管到这里我们已经做好了UI的开发,但是我们还不能按F5来运行程序,我们还需要为电子表格做一个面板。右键单击项目名称,选中左边的WindowsForms,选择右边的User Control,命名为:XamlHost,把刚才创建的BlogUserControl.xaml拖到此面板内:
13、 为类ThisAddIn添加代码:
添加引用:
using Office = Microsoft.Office.Tools;
using Microsoft.Office.Tools.Excel;
using System.Windows.Forms;
为ThisAddIn.cs添加如下变量:
string ctrlTitle = "Blog Data";
Office.CustomTaskPane ctp;
为方法ThisAddIn_Startup(object sender, System.EventArgs e)添加如下代码:
ctp.Visible = true;
ctp.DockPosition = Microsoft.Office.Core.MsoCTPDockPosition.msoCTPDockPositionRight;
14、 运行项目,点击获取数据按钮,如下图:
在左边的Excel格中修改数据,然后点击更新按钮,新数据就会被更新到sharepoint列表中。