長いセル内容を「⋯」で省略

  • 作成者:ayuan0625
  • 編集回数:25次
  • 最終更新:FRInternational 于 2021-11-26
  • 一.概要

    内容が多いセルを省略記号(...)で表示して、マウスがセルに移動したら、すべての内容を表示する方法について説明します。

    1633754028BbvO.png

    二.解決策

    1.方法一:数式で実現

    注:この方法は簡単ですが、帳票を他の形式でエクスポートする場合でも、ファイル内のセルの内容は省略されるため、帳票のエクスポートを行う時に、方法1ではなく、方法2を使用してください。

    1.セルA2にテキストを入力します。例えば、特定の長さを超えると、...を表示するように設定します、マウスを合わせると値が全部表示されます。

    2.形式をクリックして、数式形式を設定します。if(len($$$)>5,left($$$,5)+'...',$$$)

    セルの内容の長さが5桁を超える場合、最初の5桁と省略記号(...)が表示されます。セルの内容の長さが5桁以下になる場合、全てが表示されます(下図参照)。

    3.その他内容表示=$$$に設定します(下図参照)。

    設定が完了すると、効果を実現できます。

    2.方法二:JSで実現

    1.セルA2にテキストを入力します。例えば、特定の長さを超えると、...を表示するように設定します、マウスを合わせるとすべての値が表示されます。

    2.テンプレート-テンプレートWeb-改ページプレビュー設定をクリックし、ロード終了を追加します(下図参照)。

    JSコードは次のとおりです:

    // td の文字列をカットする
    $("td[title^=cut]").each(function(){
    // 属性の値を取得する
    var str = $(this).attr('title');
    // 分割記号を定義する
    var length = parseInt(str.split(":")[1]);
    // 長さで判断する
    if($(this).text().length > length){
          $(this).attr('title',$(this).text());
          $(this).text($(this).text().substring(0,length)+'...');
          }else{
          $(this).removeAttr('title');
          }
    })

    3.セルA2のその他内容表示cut_+A2+:+5を入力します。

    cut_+A2+:+5,A2はセルの位置、5は表示されるセル数、:は英語の記号を示します。前後に+により連結します(下図参照)。

    設定が完了すると、効果を実現できます。

    3.方法三:HTMLによる実現

    1.セルA1に長いテキストを書き込む。

    2.セルの形式式の形式を設定する。

    "<span style='white-space: nowrap;text-overflow:ellipsis; overflow:hidden; display: inline-block;width:100%;'>"+$$$+"</span>"

    セルの内容の長さがセルの幅を超える場合、表示超過分は省略記号(...)に転換されます。セルの内容の長さがセルの幅の以下になる場合、内容が全部表示されます。

    3.その他表示内容HTMLで内容を表示と設定し、内容提示「=$$$」と設定します(下図参照)。

    設定が完了すると、効果を実現できます。

    4.行の高さの設定

    一般、表示を省略するには、プレビュー中に表示値に応じて行の高さを自動調整してほしい、これにより、他の列の行の高さの調整に影響を与えず、内容が多い列の行間隔を拡張しません。行の高さを制御するには、次の方法を使用できます。

    1.方式一:セル-セルの属性-スタイルをクリックして、1行で表示と設定します(下図参照)。

    この方法は、JSによる省略表示に直接適用できるが、HTMLスタイル制御では無効です。その欠点は、最後の列の場合、エクスポートされたファイルの表示スタイルも単一行表示になります。改行表示しようとする場合は、別途調整する必要があります。

    2.方式二:セル-セルの属性-その他をクリックして、基本自動調整しないと設定します(下図参照)。

    この方法は、JSまたはHTMLによる表示省略に直接適用できます。その利点は列の内容が改行に表示され、ファイルをエクスポートすると、セル内容が改行に表示され、且つ、改ページでプレビューするときに、行の高さが他のセルにあわせて自動調整されることです。

    必要に応じて、この方法を使用する上で、方法一により単一行の表示として設定することもできます。

    保守を容易にし、及びテンプレートを統一化させるために、HTMLを使用して表示の省略を制御し、且つ方法ニにより行の高さを制御することをお勧めします。

    Attachment List


    Theme: FineReport 帳票実例
    • いいね
    • 良くない
    • 閲覧しただけ