如何使用設定格式化的條件在 InfoPath 中的指令碼] 或 [次要資料來源欄位

文章翻譯 文章翻譯
文章編號: 827008 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

結論

本文將告訴您如何使用指令碼的條件化格式運算式以及如何在次要資料來源中使用同一欄位的條件化格式運算式。使用次要資料來源在 Microsoft Office InfoPath 2007 表單或在 Microsoft Office InfoPath 2003 表單中指令碼或欄位。

若要使用指令碼函式具有設定格式化的條件] 或 [次要資料來源欄位具有設定格式化的條件,選取 [條件型別的 運算式]。

一個參照次要資料來源中的欄位運算式具有類似下列的語法:

xdXDocument:GetDOM('DataSourceName') / docRoot / Node1 / Node2 = my:myField1

在這個語法中版面配置區是:
  • DataSourceName指的是您提供給次要資料來源的名稱。
  • docRoot是 XML 文件根目錄。
  • Node1而且 Node2 是包含在 XML 中的節點。 Node2 是 Node1 的子系。
  • my:myField1參照到表單的主要資料來源中的欄位。
在此特定範例中條件的格式設定陳述式會檢查 Node2 對次要資料來源中的文字值 my:myField1 主要資料] 來源中,然後套用格式,選取 [如果兩個值相符。

同樣地,從條件式格式運算式呼叫指令碼函式,您可以使用 xdExtension 前置詞是繫結至 http://schemas.microsoft.com/office/infopath/2003/xslt/extension 命名空間。

設計新表單

本範例說明如何建立使用這兩種運算式類型的條件化格式。

InfoPath 2003

  1. 啟動 InfoPath 2003。設計新的空白表單。
  2. 選取 [資料來源] 工作窗格。若要將欄位新增到您的表單中,請依照下列步驟執行:
    1. 在資料來源] 工作窗格 myFields,] 上按一下滑鼠右鍵,然後按一下 [新增]。
    2. 新增欄位或群組] 對話方塊中,輸入 myExpenses。在 [類型] 下拉式清單中,選取 群組。選取 [重複] 選項,然後按一下 [確定]
    3. 在資料來源] 工作窗格 myExpenses,] 上按一下滑鼠右鍵,然後按一下 [新增]。
    4. 在 [新增欄位或群組] 對話方塊鍵入 ExpenseName,再按 [確定]
    5. 在資料來源] 工作窗格 myExpenses,] 上按一下滑鼠右鍵,然後按一下 [新增]。
    6. 新增欄位或群組] 對話方塊中,輸入 ExpenseValue。 在資料型別清單,選取 小數 (雙精度浮點數),],然後再按一下 [確定]]。
  3. 將資料來源] 工作窗格的 myExpenses 群組移到您的表單,然後按一下 [重複表格]。

InfoPath 2007

  1. 啟動 InfoPath 2007。
  2. 在 [快速入門] 對話方塊左邊的窗格中, 按一下 [設計表單範本]。
  3. 在表單範本視窗設計中按一下 [空白,然後按一下 [[確定]
  4. [設計工作] 工作窗格中按一下 [資料來源,],然後再新增到表單的 [欄位]。 若要將欄位新增到表單中,請依照下列步驟執行:
    1. 在資料來源] 工作窗格 myFields,] 上按一下滑鼠右鍵,然後按一下 [新增]。
    2. 新增欄位或群組] 對話方塊中,輸入 myExpenses
    3. 類型 中按一下 [群組]。
    4. 按一下 [重複,然後按一下 [確定]
    5. 在資料來源] 工作窗格 myExpenses,] 上按一下滑鼠右鍵,然後按一下 [新增]。
    6. 在 [新增欄位或群組] 對話方塊鍵入 ExpenseName,再按 [確定]
    7. 在資料來源] 工作窗格 myExpenses,] 上按一下滑鼠右鍵,然後按一下 [新增]。
    8. 新增欄位或群組] 對話方塊中,輸入 ExpenseValue
    9. 在資料型別清單,按一下 [小數位數 (雙精度浮點數),],然後再按一下 [確定]]。

用於指令碼設定格式化的條件

InfoPath 2003

  1. 在 [工具] 功能表上指向 [指令碼,然後按一下 [Microsoft Script 編輯器]。
  2. 將下列函式加入至程式碼視窗:
    function CheckItem()
    {
        return "Airfare";
    }
  3. 儲存此指令碼,然後關閉 [Script 編輯器]。
  4. 在表單上 ExpenseName] 欄位的文字方塊上按一下滑鼠右鍵,然後按一下 [文字方塊內容]。
  5. 在 [文字方塊內容] 對話方塊按一下 [顯示] 索引標籤,然後按一下 [設定格式化的條件

    [設定格式化的條件] 對話方塊隨即出現。
  6. 按一下 [新增]。

    [設定格式化的條件] 對話方塊隨即出現。
  7. 在 [設定格式化的條件] 對話方塊選取 [從下拉式清單] 清單的 [運算式],並再在 [文字] 方塊中鍵入下列條件:

    我: ExpenseName = xdExtension:CheckItem()

    按一下 [粗體,然後按一下 [確定]
  8. 按一下 [確定] 以關閉 [設定格式化的條件] 對話方塊。
  9. 按一下 [確定] 以關閉 [文字方塊內容] 對話方塊。
  10. 按一下 [預覽表單]。若要測試表單,請依照下列步驟執行:
    1. 請輸入 住宿 費用名稱。輸入量 250
    2. 按下 CTRL + ENTER 鍵新增資料列。
    3. 輸入費用名稱 Airfare。輸入量 700

      附註因為費用名稱等於 AirfareAirfare 則由 CheckItem 函式傳回文字值,只有費用名稱第二列是粗體。

InfoPath 2007

  1. 在 [工具] 功能表上指向 [程式,然後按一下 [Microsoft Script 編輯器]。
  2. 將下列函式加入至程式碼] 視窗
    function CheckItem()
    {
        return "Airfare";
    }
  3. 在 [檔案] 功能表上按一下 [儲存]。
  4. 按一下 [檔案] 功能表 的 [結束
  5. 在表單上 [ExpenseName] 欄位的文字方塊上按一下滑鼠右鍵,然後按一下 [文字方塊內容]。
  6. 在 [文字方塊內容] 對話方塊按一下 [顯示] 索引標籤,然後按一下 [設定格式化的條件

    [設定格式化的條件] 對話方塊隨即出現。
  7. 按一下 [新增]。

    [設定格式化的條件] 對話方塊隨即出現。
  8. 在 [設定格式化的條件] 對話方塊選取運算式,在清單],並在方塊中鍵入下列條件]:
    我: ExpenseName = xdExtension:CheckItem()
  9. 按一下 [粗體,然後按一下 [確定]
  10. 若要關閉 [設定格式化的條件] 對話方塊中,按一下 [確定]
  11. 若要關閉 文字方塊內容] 對話方塊,按一下 [確定]
  12. 在 [檔案] 功能表上按一下 [預覽],然後按一下 [表單]。
  13. 若要測試表單,請依照下列步驟執行:
    1. 請輸入 住宿 費用名稱。
    2. 輸入量 250
    3. 若要新增新列,按下 CTRL + ENTER 鍵。
    4. 輸入費用名稱 Airfare
    5. 輸入量 700

      附註因為費用名稱等於 AirfareAirfare 則由 CheckItem 函式傳回文字值,只有費用名稱第二列是粗體。

在次要資料來源中使用同一欄位的條件化格式

  1. 使用 XML 編輯器] 或 [文字編輯器如 「 記事本 」 來建立 XML 檔案以下列內容:
    <?xml version="1.0"?>
    <ExpenseRequirements>
    	<RequiresReceipt>75.00</RequiresReceipt>
    </ExpenseRequirements>
    ExpenseRequirements.xml 命名。
  2. 若要將 ExpenseRequirements.xml 新增為次要資料來源,您的表單中,請依照下列步驟執行:
    1. 在 [工具] 功能表上按一下 [轉換主要資料來源]。

      資料來源精靈] 隨即出現。
    2. 按一下 [瀏覽]。

      [開啟舊檔] 對話方塊隨即出現。
    3. 移至 ExpenseRequirements.xml,然後按一下 [開啟]。
    4. 按一下 [下一步,然後按一下 [完成] 完成資料來源安裝精靈 」。
  3. 在表單上重複的表格上按一下滑鼠右鍵,然後再按 [重複表格內容]。
  4. 在 [重複表格內容] 對話方塊選取 [顯示] 索引標籤,然後按一下 [設定格式化的條件]。

    [設定格式化的條件] 對話方塊隨即出現。
  5. 按一下 [新增]。

    [設定格式化的條件] 對話方塊隨即出現。
  6. 在 [設定格式化的條件] 對話方塊中,選取下拉式清單中的 運算式。在 [文字] 方塊中鍵入下列條件:

    我: ExpenseValue > xdXDocument:GetDOM("ExpenseRequirements")/ExpenseRequirements/RequiresReceipt

    背景色彩] 下拉式清單選取紅色,色彩然後按一下 [確定]。
  7. 按一下 [確定] 以關閉 [設定格式化的條件] 對話方塊。
  8. 按一下 [確定] 以關閉 [重複表格內容] 對話方塊。
  9. 按一下 [預覽表單]。
  10. 若要測試表單,請依照下列步驟執行:
    1. 輸入費用名稱 午餐。輸入量 25
    2. 按下 CTRL + ENTER 新增一列。
    3. 輸入費用名稱 晚餐。輸入量 80

      附註以紅色的背景格式化第二列,因為費用值超過 75。

屬性

文章編號: 827008 - 上次校閱: 2007年1月30日 - 版次: 2.2
這篇文章中的資訊適用於:
  • Microsoft Office InfoPath 2007
  • Microsoft Office InfoPath 2003, Service Pack 1 (SP1)
  • Microsoft Office InfoPath 2003
關鍵字:?
kbmt kbhowtomaster KB827008 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:827008
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com