iReport:为细节带

时间:2015-05-06 12:18:50

标签: jasper-reports

我正在使用带有eclipse的iReport。 我必须显示一个值列表,我需要为区域(细节带)设置一个固定的高度,在那里将显示值。让我们说10个。

然后在这个细节带下面,我有两个字段,代表细节中显示的值的总和 总和必须显示在我页面中的特定位置:正好在10个细节带下面,无论细节带是否已满。这意味着如果我只显示6行,我必须在下面有4行空行才能达到10行。

如果显示的值超过10个,则会创建第二个页面。

不确定我是否清楚,但如果有人可以帮我这个... 感谢

1 个答案:

答案 0 :(得分:1)

您可以使用背景波段来形成如下所示的网格结构

    $(document).ready(function () {
        var row="<tr>"+
           ' <tr>'+
               '<th>category</th>'+
               '<th>item1</th>'+
               '<th>item2</th>'+
           '</tr>';
        $("#table").append(row)
        $("#button").click(
            function () {
                addrow();
            }            
        );
    });





    function addrow()
    {
           var row='<tr>'+
               '<td><select>'+
                        '<option>--select--</option>'+
                        '<option value="1">fruits</option>'+
                         '<option value="2">vegi</option>'+
                         '<option value="3">flowers</option>'+
        '</select></td>'+
        '<td><select>'+
                        '<option>--select--</option>'+
                        '<option value="1">item1</option>'+
                         '<option value="2">item2</option>'+
                         '<option value="3">item3</option>'+
       '</select></td>'+
        '<td><select>'+
                         '<option>--select--</option>'+
                        '<option value="1">item1</option>'+
                         '<option value="2">item2</option>'+
                         '<option value="3">item3</option>'+
       '</select></td></tr>';
        row = $(row);
        row.find("select:eq(0)").change(function(){
       if($('option[value='+$(this).val()+']:selected').length>1){
         alert('option is already selected');
         $(this).val($(this).find("option:first").val());   
       } 
        });
    $("#table").append(row);
    }

希望它有所帮助。