2009年7月17日金曜日

Jasperreportsの要素を動的に配置する。

エレメントの座標(x,y)を変更することで移動可能であるが、
setXはあるのに、setYが無い!!!

http://jasperreports.sourceforge.net/api/net/sf/jasperreports/engine/JRElement.html#setX(int)

何故こういう状態なのか不明だが、無いものは仕方がない。
縦方向には可能性あるだけ配置しておき、不要な要素は消すことにした。

JasperReport jasperReport = JasperCompileManager.compileReport("sample1.jrxml");
// 横移動する
JRElement element = jasperReport.getDetailSection().getBands()[0].getElementByKey("target1");
element.setX(100);

2009年7月12日日曜日

Dojo ComboBoxのstyleを動的に変更

Dojo ComboBoxのスタイルを動的に変更する方法として、
入力フィールドのスタイルシートを変更するのでは動作しない。
例として、親要素のスタイルシートを変更することで対応可能だ。

JavaScriptコード
function styleChange() {
  var comboBox= document.getElementById("comboBox1");

  // これは駄目
  comboBox.style.borderColor = "red";
  comboBox.style.borderStyle = "double";

  // これで可能
  comboBox.parentNode.parentNode.style.borderColor = "red";
  comboBox.parentNode.parentNode.style.borderStyle = "double";
}

HTMLコード
<select id="comboBox1" dojoType="dijit.form.ComboBox"
autocomplete="false" value="California">
<option selected="selected">California</option>
<option>Illinois</option>
<option>New York</option>
</select>