您现在的位置: 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); } } } |
还添加了几个事件来负责前后浏览数据,因此用户可通过单击按钮元素来在表中的客户数据间移动。为此,针对绑定源使用 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(); } } } |
将数据添加到 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; } } } |

