2009-10-22 49 views
1

我的用戶使用Excel來提出一些我們擁有的建築物的臨時列表。我正在構建InfoPath表單來管理這些建築物上的合同。我正在尋找讓我的用戶在Excel中指定他們需要的建築物的方法,並將該列表粘貼到InfoPath表單的重複表格控件中。任何將多行數據粘貼到InfoPath重複表中的方法?

該表具有多個字段;用戶將在其電子表格中選擇Building ID列,將其粘貼到重複表中的Building ID字段中,然後InfoPath表單將從綁定到控件的數據源中查找剩餘的建築信息,使用Building ID作爲鍵。

重複查表部分目前正:用戶可以輸入(通過從Excel中輸入或粘貼)單個建築物ID,點擊選項卡,表中查找信息的其餘部分。然後他們可以插入一個新的行,並輸入第二個建築ID,泡沫,沖洗,重複。這對一些建築物來說很好 - 但不是幾十或幾百個。所以我正在尋找一種方法讓他們粘貼到列表中,並從那裏填寫表格。

如果他們不能直接粘貼到一個重複表,我可以將它們粘貼到多行文本控件,然後解析XPath表達式? XPath會是什麼樣子?最後一個限制:沒有代碼隱藏的C#或VB - 我們已經決定,當前項目部署帶有代碼隱藏的表單的後勤工作太多了。

任何幫助表示讚賞...

回答

0

我看到產生的(主要是由於該解決方案可以不涉及代碼隱藏),唯一的問題是,有你可以用它來動態地添加任何InfoPath中規則的事實附加節點到重複組(這是重複表綁定的內容)

在重複表中創建附加記錄的唯一方法是讓用戶手動按下底部的「插入附加行」選項卡的表格。

我強烈建議使用代碼隱藏,所以用戶可以從剪貼板粘貼成箱的製表符分隔的Excel數據;有它解析serverside;並將這些數據與例程一起用於訪問表單的MainDataSource,並以這種方式添加其他行。

+0

是的,我是怕的是什麼;沒有用戶單擊按鈕或使用代碼隱藏,我無法找到任何添加行的方式。我發現了一些關於在使用代碼隱藏時自動化部署過程的文章,但它們看起來相當複雜。我們可能會在下一個項目中解決這個問題。與此同時,我想我會想出一個替代方案,比如將用戶的Excel列表保存爲SharePoint列表或SQL Server表格等數據源,並從中讀取表單。感謝您的確認! – Val 2009-10-22 23:00:43

0

如果提取的InfoPath源文件,文件之一將是TEMPLATE.XML文件。這將保存您的信息表格的數據。使用Excel宏將模板作爲xml文檔打開並添加Excel電子表格中的數據。你可以允許用戶自己打開文件或者打開文件。只是一種避免隱藏代碼的方式。

+0

那麼,我不會低估這一點,因爲它在技術上是一個有效的解決方案 - 但從可用性的角度來看,這是完全不切實際的。當我發現自己轉向這樣的解決方案時,我認爲這是我使用錯誤技術的標誌。而不是走這樣的道路,是時候放棄功能,找到一種完全不同的方式來使用現有技術來實現目標,或者直接使用不同的技術來實現用戶請求的功能。 – Val 2009-10-26 17:12:02

相關問題