CFTREEITEM  
説明

cftree タグによって作成されたフォームツリーコントロールに 1 つ以上の要素を挿入します。

 
カテゴリ

フォームタグ

 
シンタックス
<cftreeitem
   value = "text"
   display = "text"
   parent = "parent_name"
   img = "filename"
   imgopen = "filename"
   href = "URL"
   target = "URL_target"
   query = "queryname"
   queryAsRoot = "yes"、"no"
   expand = "yes"、"no">
 
関連項目

cfapplet、cfform、cfformgroup、cfformitem、cfgrid、cfinput、cfselect、cfslider、cftextarea、cftree、『ColdFusion MX 開発ガイド』の第27章の「cfform タグによるダイナミックフォームの作成」 の「cftree タグによるツリーコントロールの構築」

メモ: XML 形式では、ColdFusion MX はすべての属性を XML に渡します。用意された XSLT スキンでは XML 形式のツリーは処理または表示されませんが、アプレットおよび Flash 形式のツリーは表示されます。

 
使用方法

このタグを使用する場合は、クライアントで Java アプレットをダウンロードする必要があります。アプレットのダウンロードには時間がかかるため、このタグを使用すると、同じ情報を取得するのに HTML の form 要素や cfinput タグを使用する場合よりも処理速度が少し遅くなる可能性があります。

このタグを正しく動作させるには、JavaScript 対応のブラウザを使用する必要があります。

このタグに挿入するためにクエリーを使用しない場合は、単一のツリー項目が作成されます。クエリーを使用する場合は、複数の項目が作成されます。クエリーの各行では、階層的にネストされた項目のセットが列ごとの 1 項目について作成されます。

 

次の例では、単一の cftreeitem タグおよびクエリーを使用してシンプルなツリーを作成します。

<cfform action = "#cgi.script_name#">
   <cftree name = "Employees" height = "400" width = "200">
      <cftreeitem value="LastName, FirstName, Emp_ID" query="getEmployees"
       queryAsRoot="False">
   </cftree>
</cfform>

次の例では、部門別に構成された、組織内の全従業員に関する基本情報を示すツリーを作成します。部門を展開すると、全従業員が表示されます。プラス記号 (+) をクリックすると、追加情報が表示されます。従業員名をクリックすると、同じページに戻り、選択した従業員の ID が表示されます。

<!--- データソースにクエリーを実行して、従業員情報を取得します。--->
<!--- 出力を部門別にグループ化します  
   (Group By 節にはすべてのフィールドが必要です)。 --->
<cfquery name = "GetEmployees" dataSource = "cfdocexamples">
   SELECT  Emp_ID, FirstName, LastName, EMail, Phone, Department
   FROM Employees
   GROUP BY Department, Emp_ID, FirstName, LastName, EMail, Phone
</cfquery>
<html>
<body>
<h3>cftreeitem の例</h3>

<!--- ツリー内のリンクをクリックすると、次の処理が実行されます。 
   アプリケーション全体で追加処理に ID を使用します。 --->
<cfif isdefined("URL.user_ID")>
   <cfoutput>
      <!--- URL.cftreeitemkey は選択されたツリー項目の value 属性です。 --->
      #URL.cftreeitemKey#; User ID #URL.user_ID# の情報をリクエストしました。
   </cfoutput>
   <br><br>
</cfif>
<!--- ツリーを表示します。cfform 内に cftree タグが必要です。 --->
<cfform>
   <cftree name = "Employees" height = "400" width = "200"
      font = "Arial Narrow" highlighthref="No" hscroll="No"> 
      <!--- group 属性を使用する cfoutput タグが部門をループします。 --->
      <cfoutput group="Department" query = "GetEmployees">
         <cftreeitem value="#Department#" parent="Employees" expand="yes">
         <!--- この cfoutput タグが部門のレコードをループします。
               cfouput タグには属性は必要ありません。 --->
         <cfoutput>
            <!--- 部門内の各従業員に対して項目を作成します。
               子は展開しません。各従業員名はこのページにリンクし、
               クエリー文字列内の従業員 ID を送信します。--->
            <cftreeitem value = "#LastName#, #FirstName#"
               display = "#LastName#, #FirstName#"
               parent = "#Department#" expand="no"
               href="#cgi.script_name#?user_id=#emp_id#">
            <!--- 各従業員エントリには、ID および ContactInfo の子があります。 --->
            <cftreeitem value = "#Emp_ID#" display = "Employee ID:#Emp_ID#"
               parent = "#LastName#, #FirstName#">
            <!--- 各ノードは固有の値である必要があるため、Emp_ID om 値を使用します。 --->
            <cftreeitem value = "#Emp_ID#_ContactInfo" 
               display = "Contact Information"
               parent = "#LastName#, #FirstName#" expand = "No">
            <!--- ContactInfo には 2 つの子があります。 --->
            <cftreeitem value = "#Phone#" parent = "#Emp_ID#_ContactInfo">
            <cftreeitem value = "#Email#" parent = "#Emp_ID#_ContactInfo">
         </cfoutput>
      </cfoutput>
   </cftree>
</cfform>
VALUE  
  必須
 
  すべて
 

cfform を実行するときに渡される値です。cfquery からのデータをツリーに挿入する場合、区切りリストで使用する複数の列を指定できます。たとえば、value = "dept_id,emp_id" と指定します。この場合、各列では、リスト内でその列の後に配置される子となる項目が生成されます。

DISPLAY  
  オプション
 
  すべて
 
Default value: "value"

ツリー項目のラベルです。クエリーからのデータをツリーに挿入する場合は、名前を区切りリストで指定します。例 : display = "dept_name,emp_name"

PARENT  
  オプション
 
  すべて
 

ツリー項目の親の値です。ツリー階層における項目の配置を指定します。省略した場合、その項目はツリーのルートレベルに配置されます。または、queryAsRoot 属性が true の場合、クエリーの直下に配置されます。

IMG  
  オプション
 
  アプレット、オブジェクト
 
Default value: "folder"

ツリー項目のアイコンの、イメージ名、ファイル名、またはファイルの URL です。

次の値があります。

  • cd
  • computer
  • document
  • element
  • folder
  • floppy
  • fixed
  • remote

カスタムイメージを指定することもできます。パスおよびファイル拡張子を含めて指定します。例 :

img = "../images/page1.gif"

カスタムイメージは、Flash 形式の場合はサポートされません。

1 つのツリー内への複数のイメージの指定や、2 番めまたは後続のレベルのイメージの指定には、各レベルに対応する名前カンマ区切りで指定します。例 :

img = "folder,document"

img = ",document" (2 番めのレベルの指定)

IMGOPEN  
  オプション
 
  アプレット、オブジェクト
 

img 属性の説明のように、開かれたツリー項目に表示されるアイコンです。

HREF  
  オプション
 
  すべて
 

ユーザーがツリー項目をクリックしたときのリンク先の URL です。query 属性を使用する場合は、URL を含むクエリー列を href 属性で指定できます。href がクエリー列でない場合、属性のテキストは URL または URL のリストでなければなりません。

クエリーからのデータをツリーに挿入する場合は、カンマ区切りリストで URL を指定できます。例 :

href = "http://dept_svr,http://emp_svr"

TARGET  
  オプション
 
  すべて
 

href URL のターゲット属性です。クエリーからのデータをツリーに挿入する場合、ターゲットを区切りリストで指定します。

target = "FRAME_BODY,_blank"

QUERY  
  オプション
 
  アプレット、
 
  Flash
 

ツリー項目を挿入するときに使用するクエリー名です。ColdFusion では、value 属性で指定されるクエリー列リスト内のフィールド値ごとに項目が生成されます。各行のフィールドは、最初の列に階層的にリンクされます。

QUERYASROOT  
  オプション
 
  すべて
 
Default value: "Yes"

query 属性を指定した場合に限り適用されます。このタグによって生成されるすべての項目に対して、ルートレベルとしてクエリーを定義します。この属性を使用することにより、親 cftreeitem を作成しなくても済むようになります。

  • Yes: このタグによって生成される他のすべての項目に対して、クエリー名をその値として、親 (ルート) 項目を生成します。parent 属性を指定した場合、このルート項目は指定した親の子になります。
  • No: このタグによって生成されるすべての項目の直接の親として parent 属性で指定された項目を使用します。parent 属性がない場合は、クエリーを親として使用します。
  • 任意の文字列: ルート項目を作成し、指定された文字列を項目名として使用します。parent 属性を使用する場合、ルート項目は指定された親の子になります。
EXPAND  
  オプション
 
  すべて
 
Default value: "Yes"
  • Yes: ツリーが展開されてツリー項目の子項目が表示されます。
  • No: ツリー項目が閉じた状態で保持されます。