CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

您现在的位置: IT专家网 > Exchange子站 > Office

Office将VSTO与SharePoint内容类型相集成

作者: Steve Fox,  出处:微软, 责任编辑: 韩博颖, 
2008-06-19 08:00
  构建文档级 VSTO 自定义和将其与 SharePoint 中的内容类型相集成。这两个优点组合起来后,可在客户端上利用 Office 平台丰富的用户功能,同时将在客户端上捕获的数据无缝扩展到企业。

  创建用户控件后,向每个按钮控件添加事件。对于加载数据事件,添加以下代码:

  

      namespace CustomerInvoice {
  public partial class CustomerDataFilterControl : UserControl {
  private void btnLoadPOData_Click(object sender, EventArgs e) {
  CustomerInvoice.PODataDataSetTableAdapters.
  PurchaseOrderDetailsTableAdapter poAdapter = new
  CustomerInvoice.PODataDataSetTableAdapters.
  PurchaseOrderDetailsTableAdapter();
  poAdapter.Fill(this.pODataDataSet.PurchaseOrderDetails);
  }
  }
  }
  另一设计为在核心加载项类的 StartUp 方法工作期间(在宿主应用程序加载程序集时执行)加载数据。

  还添加了几个事件来负责前后浏览数据,因此用户可通过单击按钮元素来在表中的客户数据间移动。为此,针对绑定源使用 MovePrevious 和 MoveNext 方法:

  

      namespace CustomerInvoice {
  public partial class CustomerDataFilterControl : UserControl {
  private void btnDataPrevious_Click(object sender, EventArgs e) {
  purchaseOrderDetailsBindingSource.MovePrevious();
  }
  private void btnDataNext_Click(object sender, EventArgs e) {
  purchaseOrderDetailsBindingSource.MoveNext();
  }
  }
  }
  为将数据添加到内容控件,我使用直接的方法来从每个用户控件文本框的 Text 属性读取一系列字符串变量。然后,将这些字符串用作参数并设置文档中对应内容控件的每个 Text 属性。下面代码说明了这一示例技术。

  将数据添加到 Word 文档

  

      namespace CustomerInvoice {
  public partial class CustomerDataFilterControl : UserControl {
  private void btnAddData_Click(object sender, EventArgs e) {
  string companyName = txtCompanyName.Text;
  string purchaseOrder = txtPONum.Text;
  string workDetails = txtPODetails.Text;
  string companyAddress = txtAddress.Text;
  string contactPerson = txtContact.Text;
  string poTotal = txtTotal.Text;
  addDataToWCCs(companyName, purchaseOrder, workDetails,
  companyAddress, contactPerson, poTotal);
  }
  public void addDataToWCCs(string cmpyName, string poNum,
  string poDetails, string address, string contact, string total) {
  Globals.ThisDocument.wccCustomerName.Text = cmpyName;
  Globals.ThisDocument.wccCustomerAddress.Text = address;
  Globals.ThisDocument.wccCustomerContact.Text = contact;
  Globals.ThisDocument.wccWorkDescription.Text = poDetails;
  Globals.ThisDocument.wccWorkItem.Text = poDetails;
  Globals.ThisDocument.wccPurchaseOrderNum.Text = poNum;
  Globals.ThisDocument.wccPurchaseOrderTotal.Text = total;
  Globals.ThisDocument.wccTotalCharges.Text = total;
  }
  }
  }
  您可能已注意到,内容控件有多个重复的字符串变量赋值。这是设计使然,但由于在您的解决方案中一个给定发票可能有多个 PO 工作项,因此第二个总额(在我的示例中指定给 wccTotalCharges)可能希望将字符串变量视作十字制数,并且调用一个函数来将其汇总成发票总金额。对于第二个工作详细信息内容控件 (wccWorkItem),一个方法是让表有一个简短的说明,让详细信息有一个更长的说明。为简便起见,我在两个内容控件间重用字符串。
共9页。 9 1 2 3 4 5 6 7 8 9 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅

天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i