infopathフォームWebパーツを使用して既存のフォームを表示する(新しいものではない)
-
27-10-2019 - |
質問
InfopathフォームWebパーツを使用して、公開されているInfoPathフォーム(新しいインスタンス)に記入できます。 Webパーツを使用して、既に満たされたフォームを開いて、いくつかの変更を行いたいと思います。これを達成できますか(このWebパーツまたはその他のソリューションを使用して)?
この要件の背後にある理由は、私のページに複数のWebパーツ、コンテンツエディター、クエリ文字列フィルター、InfoPath Webパーツを持ちたいからです。これらを使用して、特定のモード /ビューでフォーム(新規または既存)を開きたいと思います。
編集
単純化しようとします:
1- SharePointライブラリに保存されているInfopathフォームがあります。フォームには複数のビューがあります。
2- URLのような使用 http://mysite/mypage.aspx?form = myform-20110613.xsn&view = view3, 、私はフォームMyForm-2010613.xsnを開いてview3に切り替えたいです。
どうすればこれを実現できますか(できればコードを書くことなく)?
解決
カスタムアプリケーションASPXページを使用してそれを実行しました。ページには、次のようにSRCを表示URLに設定するiframeがあります
private void SetIFrameSource_View(HtmlControl frame, string libraryName, string formName)
{
string formServerPage = "http://servername/_layouts/FormServer.aspx";
string xmlLocation = string.Format("/{0}/{1}", libraryName, formName);
string source = "http://servername/SitePages/Home.aspx";
frame.Attributes["src"] = string.Format("{0}?XmlLocation={1}&Source={2}&DefaultItemOpen=1", formServerPage, xmlLocation, source);
}
他のヒント
どのバージョンのInfopathを使用していますか? 2013年には、条件なしでフォーム開口部にルールを挿入し、希望するビューにアクション「スイッチビュー」を追加できます。
データ]フォームのロード[新しい[アクション]スイッチビューの[ビュー]を[ビューを選択します)をクリックします。
ページを作成し、infopathフォームWebパートを追加し、ページを保存します。 WebPart(ライブラリ名またはコンテンツタイプ)のプロパティを構成しないでください。既存のInfoPathフォームXMLLOCATIONを含むページに移動します。例えば。 http://siteurl/yourpage.aspx?xmllocation =/sites/teamsites/testformlibrary/aaaaa.xml
ビューでこのURLを動的に構築する場合は、このリンクをフォローしてください。
これをWebパーツ接続で行うことができます。詳細については、次のビデオをご覧ください。 http://channel9.msdn.com/blogs/laurhar/infopath-2010-manage-data-in-your-sharepoint-lists-using-the-infopath-web-part?format=auto