日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
      軟件
      軟件
      文章
      搜索

      首頁編程開發(fā)C#.NET → InfoPath進(jìn)階之二:給InfoPath添加VSTA托管代碼并從SharePoint列表查詢數(shù)據(jù)

      InfoPath進(jìn)階之二:給InfoPath添加VSTA托管代碼并從SharePoint列表查詢數(shù)據(jù)

      相關(guān)軟件相關(guān)文章發(fā)表評論 來源:dosboy時間:2010/1/29 23:11:52字體大。A-A+

      作者:dosboy點(diǎn)擊:1674次評論:0次標(biāo)簽: InfoPath

      • 類型:遠(yuǎn)程監(jiān)控大小:4.6M語言:中文 評分:5.7
      • 標(biāo)簽:
      立即下載

      摘要:本章節(jié)里,我們要學(xué)習(xí)如何給InfoPath添加代碼,然后如何把含有代碼的表單模板發(fā)布到具有Forms Service的網(wǎng)站上去。本代碼比較簡單:根據(jù)上一章的示例,模板里有一個字段叫“申請人”,這段代碼就是根據(jù)當(dāng)前登錄的人名,通過代碼查詢到他的部門,然后自動地填到“申請部門”這個下拉框中去。這樣當(dāng)使用者第一次新建這個表單時,申請人和部門就會自動填好,這樣就會顯得模板比較智能。

      你將學(xué)會:

      1. 如何給InfoPath模板添加代碼,并進(jìn)行發(fā)布。
      2. 如何從MOSS的用戶配置文件中來讀取用戶的中文名稱
      3. 如何使用OM和Query語句,對SharePoint列表進(jìn)行查詢
      4. 如何在程序中設(shè)置表單中某個節(jié)點(diǎn)(域)的值
      5. 如何應(yīng)用Loading事件

       

      一、新建一個表單庫,用來存放表單

      如下圖:

      image

       

      二、編輯表單模板,并加入程序

      1 以設(shè)計(jì)模式打開模板,在“工具”-“表單選項(xiàng)”中設(shè)置編程語言為c#,如下圖:

      image

       

      2.設(shè)置表單模板的安全級別為“完全信任”和表單模板簽名,如下圖:

      image

      3. 在通過菜單中的Loading事件,打開編寫程序的界面:

      image

       

      4.給程序添加3個必要的“引用”,如圖下圖,打開“添加引用”對話框,

      image

      1)給程序集添加WSS的引用,主要使用OM對象模型,如下圖:

      image

      2)給程序集添加Office Server的引用,主要使用配置文件類,如下圖:

      image

      3) 參照之前的例子,再給程序加上System.Web的引用,主要用來使用ServerContext對象。

       

      5 給程序加上代碼

      1) 給程序加上引用行,如下示例:

      //以下需要手動加上去的
      using System.Web;
      using Microsoft.Office.Server;
      using Microsoft.Office.Server.Administration;
      using Microsoft.Office.Server.UserProfiles;
      using Microsoft.SharePoint;

      2) 在Loading事件中加入如下的代碼:

                  if (this.New) //如果是新的表單,就設(shè)置初始值
                  {
                      //取得當(dāng)前用戶在配置文件中FullName的值
                      using (SPSite site = new SPSite("http://oss")) //請把這個值換成你的SharePoint網(wǎng)站的URL
                      {
                          //以下根據(jù)當(dāng)前用戶登錄名來取得用戶的配置文件
                          ServerContext context = ServerContext.GetContext(site);
                          UserProfileManager profileManager = new UserProfileManager(context);             
                          UserProfile u = profileManager.GetUserProfile(this.Application.User.LoginName);
                          string fullName = u[PropertyConstants.PreferredName].Value.ToString();
      
                          XPathNavigator mainNavigator = this.MainDataSource.CreateNavigator();   //取得主數(shù)據(jù)源的檢索游標(biāo)
      
                          //設(shè)置申請人的節(jié)點(diǎn)值為用戶名,即配置文件中PreferredName(名稱)的屬性                   
                          mainNavigator.SelectSingleNode("/my:myFields/my:申請人", this.NamespaceManager).SetValue(fullName);  
                         
                          //根據(jù)姓名從SharePoint的部門列表來查詢部門
                          using (SPWeb web = site.AllWebs["/demo"]) //請把這個換成你的SharePoint網(wǎng)站的URL
                          {
                              SPQuery query = new SPQuery();
                              //因?yàn)樾彰侄,是從?biāo)題更改而來的,所以其內(nèi)部名稱為Title
                              query.Query = "<Where><Eq><FieldRef Name='Title'/><Value Type='Text'>" + fullName + "</Value></Eq></Where>"; 
                              SPList list = web.Lists["部門人員"];
                              SPListItemCollection items = list.GetItems(query);
                              if (items.Count > 0) //如果查找到了就設(shè)置部門的值
                                  mainNavigator.SelectSingleNode("/my:myFields/my:申請部門", this.NamespaceManager).SetValue(items[0]["部門"].ToString ());  
       
                          }
      
                      } 
                  }
              }
       
       

      6 調(diào)試看結(jié)果

      請按image 可以看看調(diào)試結(jié)果,如下圖:

      image

       

      三、 部署模板到文檔庫

      程序都調(diào)試好了,應(yīng)該部署到文檔庫中,如何部署呢?

      1. 啟動文件菜單中的發(fā)布向?qū),把模板發(fā)布到C:盤的根文件夾下,如下圖:

      image

       

      image

      image

      image

      image

       

      2 把剛才發(fā)布的模板上傳到管理中心,并激活到網(wǎng)站集

      進(jìn)入管理中心,的“應(yīng)用程序管理”頁面,如下圖點(diǎn)擊進(jìn)入上傳頁面:

      image

       

      image

       

      點(diǎn)擊上傳后,再點(diǎn)擊確定,進(jìn)入模板的列表頁面,如下圖把這個模板激活到網(wǎng)站集:

      image

      在配置頁面里,如下圖配置好使用這個模板的網(wǎng)站集:

      image

      3 設(shè)置文檔庫

      1)首先打開第一步創(chuàng)建的“采購申請”文檔庫的高級設(shè)置,打開內(nèi)容類型管理,并配置為網(wǎng)頁顯示這個表單庫如下圖:

      image

       

      2)如下圖添加“采購申請單”內(nèi)容類型:

      image

       

      如下圖把采購申請單添加進(jìn)入右邊

      image

      結(jié)果如圖:

       

      image

       

       

       

       

       

       

       

       

       

       

       

       

      3)把這個內(nèi)容類型設(shè)置為唯一模板,并把原有的表單模板刪除掉,

      點(diǎn)擊“更改’新建’按鈕的順序和默認(rèn)內(nèi)容類型”,

      image

       

      采購申請單,設(shè)置為第1內(nèi)容類型,如下圖:

       

      image

      點(diǎn)擊進(jìn)入表單內(nèi)容類型的設(shè)置界面,點(diǎn)擊刪除:

      image

       

      四、測試結(jié)果

      如下圖,點(diǎn)擊新建

      image

       

      結(jié)果如下圖,一切正常:

      image

        相關(guān)評論

        閱讀本文后您有什么感想? 已有人給出評價!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過難過
        • 5 囧
        • 3 圍觀圍觀
        • 2 無聊無聊

        熱門評論

        最新評論

        第 1 樓 山東淄博電信 網(wǎng)友 客人 發(fā)表于: 2013/1/15 8:58:58
        不錯

        支持( 0 ) 蓋樓(回復(fù))

        發(fā)表評論 查看所有評論(0)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)