機能説明

各種一覧(リスト)に対するヘッダを表示します。

<imarttag:imartListHeader>により、各種一覧(リスト)に対するヘッダを表示します。
属性 headerData には、「一覧ヘッダ情報」を指定します。
属性 headerData には、List インタフェースを実装したクラスのインスタンスに、 一覧のヘッダ情報クラス (ListHeaderObject) のインスタンスを格納して指定します。
属性 headerData に指定したインスタンスに格納されている、すべての ListHeaderObject クラスのインスタンスの値が、ヘッダ項目の表示要素になります。
属性 headerData に指定したインスタンスに格納されている、ListHeaderObject クラスのインスタンスを生成するときに指定した「項目ID」が、属性 sortKey の値と一致する場合に、該当の項目がソートキー(現在、ソートの基準になっている項目のこと)となります。

属性 sortKey には、ヘッダ項目の初期表示時にソートキーとする 「項目ID」を指定します。
属性 sortKey に指定した値が、属性 headerData に指定した ListHeaderObject クラスのインスタンスを生成するときに指定した「項目ID」として存在しない場合は、どの項目もソートキーにはなりません。

属性 nowrap には、nowrapオプションの有無を決定するキーを指定します。
属性 nowrap に指定した値が、未指定、または nowrap=“true” の場合 → nowrapオプションを付加します。
属性 nowrap に指定した値が、nowrap=“false”の場合 → nowrapオプションを付加しません。

制約
本タグを配置する場所は、HTML の<BODY>タグ内です。
本タグは HTML の<TR>タグとして作成されるため、<TABLE>~</TABLE>内に記述してください。
その際、<TABLE>タグには class=“list_border_bg”または class=“table_border_bg”を指定してください。
表全体の枠 (横幅100%固定)<TABLE class=“list_border_bg”>
表全体の枠 (横幅任意指定)<TABLE class=“table_border_bg”>
クラスListHeaderObject

jp.co.intra_mart.foundation.core.taglib.ListHeaderObject

List インタフェースを実装したクラスのインスタンスに、このヘッダ情報クラス ListHeaderObject のインスタンスを格納して、属性 headerData に指定します。
ListHeaderObject クラスをインスタンス化するときに、使用する コンストラクタ によって異なるヘッダ情報を生成することができます。

ListHeaderObject に設定するヘッダ情報
設定内容説明
項目IDjava.lang.String項目ID
“checkbox”を指定した場合、ヘッダ内にチェックボックスが表示されます。
項目名java.lang.Stringヘッダに表示する項目名
項目ID =“checkbox”の場合は、
<INPUT type=“checkbox”>タグの name 属性となります。
ソート表示状態boolean項目名の表示状態
 ・true : リンク表示(未指定の場合)
 ・false: 通常表示
項目ID =“checkbox”の場合は、false が設定されます。
項目名選択時の js 関数java.lang.String項目名がリンク表示の場合、リンクが選択された時のjs関数を指定
未指定の場合、onSortHeadClick(項目ID); が設定され、
項目ID =“checkbox”の場合は、「onClock イベントハンドラ」に設定する js 関数を指定します。
表示位置java.lang.String項目名の表示位置
 ・center : 中央表示(未指定の場合)
 ・left  : 左寄せ
 ・right : 右寄せ
項目の属性java.lang.String項目に設定する任意の属性(項目の<TD>タグの属性値)
複数の任意の属性を指定することも可能。
注意事項
ListHeaderObject クラスをインスタンス化した際に、ソート表示状態が「リンク表示」に設定された場合は、項目名はリンク表示となります。
項目名のリンクがクリックされると JavaScript 関数が呼び出されるため、本タグを使用した場合は、各項目名リンクに対しての JavaScript 関数の処理を記述する必要があります。
「項目名選択時の js 関数」を指定した場合は、指定した JavaScript 関数を記述してください。
「項目名選択時の js 関数」を未指定にした場合は、 デフォルトの JavaScript 関数 「onSortHeadClick」を必ず記述してください。
コンストラクタ

ListHeaderObject クラスをインスタンス化する際に、使用するコンストラクタによって異なるヘッダ情報を生成することができます。

public ListHeaderObject()
■概要
 空のヘッダ情報オブジェクトを作成します。
 空のヘッダ項目を作成する際に使用します。

■引数
 なし
public ListHeaderObject(String id, String name)
■概要
 項目ID と項目名を指定して、ヘッダ情報オブジェクトを作成します。

■引数
引数説明
idjava.lang.String項目ID
namejava.lang.String項目名
public ListHeaderObject(String id, String name, boolean sortLink)
■概要
 項目ID と項目名、ソート表示状態を指定して、ヘッダ情報オブジェクトを作成します。

■引数
引数説明
idjava.lang.String項目ID
namejava.lang.String項目名
sortLinkboolean項目名の表示状態を指定
 ・true : リンク表示(未指定の場合)
 ・false: 通常表示
public ListHeaderObject(String id, String name, String href)
■概要
 項目ID と項目名、項目名選択時の js 関数を指定して、ヘッダ情報オブジェクトを作成します。

■引数
引数説明
idjava.lang.String項目ID
namejava.lang.String項目名
hrefjava.lang.String項目名選択時の js 関数
ListHeaderObject ヘッダ情報を設定するためのメソッド

ヘッダ情報を設定するためのメソッドは、以下の通りです。
メソッドパラメータ説明
setSortLink(boolean sortLink)ソート表示状態項目名の表示状態を指定
 ・true : リンク表示(未指定の場合)
 ・false: 通常表示
setHref(String href)項目名選択時の js 関数項目名がリンク表示の場合、リンクが選択された時のjs関数を指定します。
項目ID =“checkbox”の場合は、「onClock イベントハンドラ」に記述される js 関数を指定します。
setAlign(String align)項目名の表示位置項目名の表示位置を指定
 ・center: 中央表示(未指定の場合)
 ・left  : 左寄せ
 ・right  : 右寄せ
setAttr(String attr)項目の属性を指定項目の<TD>タグの属性値を指定
デフォルトの必須 JavaScript 関数

リストヘッダの項目名リンクがクリックされた際に呼び出される、デフォルトの JavaScript 関数の詳細を以下に示します。

属性 headerData に指定する ListHeaderObject クラスをインスタンス化する際に、
ソート表示状態が「リンク表示」で「項目名選択時の js 関数」を指定していない場合は、各自でデフォルトの JavaScript 関数の処理を記述する必要があります。

必須の JavaScript 関数を記述しない場合の動作については、保証外とします。
コーディング方法などの詳細については、サンプルを参照してください。
ListHeaderObject クラスをインスタンス化する際に「項目名選択時の js 関数」を指定した場合は、デフォルトの JavaScript 関数の処理を記述する必要はありません。

ソートの項目切り替え
属性 headerData に指定する ListHeaderObject クラスをインスタンス化する際に、「項目名選択時の js 関数」を未指定にした場合、リストヘッダの項目名リンクをクリックすると JavaScript 関数の onSortHeadClick() が呼び出されます。

■関数名
 onSortHeadClick(key)

■概要
 リストヘッダの項目名リンクがクリックされた際に、呼び出される関数です。
 引数 key(項目ID) の値により、どのヘッダ項目が選択されたかの情報を取得することができます。

■引数
変数内容条件
keyヘッダの項目IDuserNameリストヘッダの項目名リンクが選択された場合

属性一覧

注釈 属性名 説明 省略時の動作 実行時評価
必須
headerData java.util.List 一覧ヘッダ情報 -
必須
nowrap nowrapオプションの有無を決定するキー -
必須
sortKey ソートキーとする項目ID -

サンプル

サンプル

サンプル
<pre>
<%@ page contentType="text/html; charset=Windows-31J" pageEncoding="Shift_JIS" %>
<%@ taglib prefix="imarttag" uri="http://www.intra-mart.co.jp/taglib/foundation/imarttag" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="jp.co.intra_mart.foundation.core.taglib.ListHeaderObject" %>

<%
    // ヘッダ項目情報を設定
    ListHeaderObject objData = null;
    ArrayList data = new ArrayList();

    // (1) チェックボックスヘッダ
    objData = new ListHeaderObject("checkbox", "checkCtrl", "onCheckBox();");
    data.add(objData);

    objData = new ListHeaderObject("userId", "ユーザコード");
    data.add(objData);

    objData = new ListHeaderObject("userName", "ユーザ名");
    data.add(objData);

    // 項目情報生成後、メソッドでヘッダ情報を設定
    objData = new ListHeaderObject("comp", "会社/組織", false);
    objData.setAlign("left");
    objData.setAttr("width=\"150\" tabindex=\"1\"");
    data.add(objData);
%>
    :
<HTML>
    <HEAD>
        <imarttag:imartDesignCss />
        <SCRIPT LANGUAGE="JavaScript">
            // 一覧の項目名リンクがクリックされた時の処理
            function onSortHeadClick(key)
            {
                        :
                // 各自で処理を記述
                        :
            }
            // (1) で指定したJavaScript 関数の処理
            function onCheckBox()
            {
                        :
                // 各自で処理を記述
                        :
            }
        </SCRIPT>
    </HEAD>
    <BODY>
        <TABLE class="list_border_bg">
            <!-- リストヘッダ -->
            <imarttag:imartListHeader headerData="<%= data %>" sortKey="userId" />
        </TABLE>
    </BODY>
</HTML>
</pre>