Đôi khi chúng ta cần save InfoPath file dưới một tên và folder đã được định sẵn. Bài viết này hướng dẫn các ban làm điều đó.
1. Mở InfoPath để thiết kế 1 form với một textbox control
2. Vào Tools –> Form Options và chọn “Save using custom code” và click on “Edit…” button
1: function XDocument::OnSaveRequest(eventObj)
2: {
3: try
4: {
5: //XDocument.UI.SetSaveAsDialogLocation("\\my\form\directory")
6: XDocument.UI.SetSaveAsDialogLocation("C:\\")
7: var strFileName = XDocument.DOM.selectSingleNode("/my:myFields/my:field1").text + ".xml";
8: XDocument.UI.SetSaveAsDialogFileName(strFileName);
9: eventObj.IsCancelled = eventObj.PerformSaveOperation();
10: eventObj.ReturnStatus = true;
11: }
12: catch(e)
13: {
14: XDocument.UI.Alert("Error at OnSaveRequest: " + e.message);
15: eventObj.ReturnStatus = false;
16: }
17: }
3. Save Infopath form. Chúng ta có thể sẵn sàng test.
Comments
Bư béo ™ - 2/23/2010 10:55:02 AM
anh ơi em ko hiểu, em mà sử dụng code thì nó ko hỗ trợ browser form:(. anh ơi có cách nào giúp em với ko ạ?Quang Nguyen Ba - 2/27/2010 4:42:29 PM
Với browser form thì thường chúng ta sẽ save vào SharePoint List. Bài viết này áp dụng cho Offline form. Mục tiêu là giải quyết vấn đề tự động Save với các form offline mà không cần chọn Save Target folder. Như vậy việc nhập dữ liệu hàng loạt sẽ nhanh hơn.Với code này, anh chưa thử với Browser Form, tuy nhiên anh tinh là sẽ sử dụng được. Tuy nhiên khác một điều là nó sẽ save lên thư mục trên Server deploy InfoPath Service
Dũng Nguyễn - 11/3/2009 9:21:05 AM
Anh Quang ơi cái này đâu có hỗ trợ cho browser forms đâu. Anh có đoạn code nào về save file infopath hỗ trợ browser forms không ạ.