行毎に背景色を変える。

 うちのページでも“かてごり”であったり“、けんさく”の結果のリスト表示などに使っています、テーブル表示における行毎に背景色を交互に入れ替える処理。昔からよく見かけます。

 WebObjectsで繰り返しの処理を行うときはWORepetitionをよく使います。今回の様にテーブルで行を繰り返し表示する場合でも有効ですのでもちろん利用する事にして、int型の変数を用意しておいて“index”という項目にバインドしておくと繰り返した回数を1ずつカウントアップしてくれる機能を利用します。
 indexが返す数値はその時の繰り返した回数ですから、2で割って割り切れるかどうかを判定して処理を変えると交互という事になります。そこで、indexの値によって二種類の文字列(←この場合は背景色)を返すメソッドを拵えます。

public int index;

public String bgColorName() {
    return (index % 2) == 0 ? 背景色1 : 背景色2;
}

 あとは表示を変えたい<th>なり<td>タグなりを動的生成するようにして(←WebObjects BuilderのInspectorで“Make Dynamic”ボタンを押す)bgcolorというattributeを追加しそこへバインドします。

 ちなみに、bgcolorは廃止予定属性なのでCSS利用でclassとかにしてバインドする方が良いかも知れません。とかValid的な事を言ってみたりして。まぁ、Valid云々は別としてもCSSを使った方が何かと便利ですよ。