「StiLL」 デザイン情報280 StiLLコマンド-- 表内の特定行を表示する 「行高を制御する (BtRow)」
                             
  【テーマ】
一覧表から必要な行だけに表示を絞りたいときはありませんか?
BtRowボタンのオプションを指定することで手操作でのフィルターを使わず自動的に行を制御できます。
今回はそのオプションの使い方をご紹介します。
    【方法】
セルリンクボタンの「行高を制御する (BtRow)」ボタンのオプション AUTOHIDE を使います。
    【参考】
本例は固定書式内で行制御を行う方法です。
非表示行を元に戻す場合はセット値を空欄にして実行します。
在庫が100以下の行を表示する場合は任意の行にそのための数式を設定することで対応できます。
 
                 
                             
■ 今回の内容                          
不要な行を非表示にする AUTOHIDE オプションと手順をご紹介いたします。
(AUTOHIDEオプションはStiLL v.3.1以降で使用できます)
(元の表)                                        (処理後のイメージ)
↑ 在庫が0の品名だけを表示
←品名の表示行は固定
・ポイント
1. 「行高を制御する (BtRow)」セルリンクボタンのオプションに AUTOHIDE を設定します。
  ※オプション AUTOHIDE は対象列範囲が空白でない行のみを残しそれ以外の行を非表示にする機能です
■ ボタンの作成と設定                        
今回使用するボタンを赤枠で示します。(リボン - StiLL - セルリンクボタン)
ボタンの設定例
← 本例では出庫数が入力されている列を指定します
← 今回ご紹介のオプション
■ ボタンの実行                        
上記ボタン(BtRow)を実行することで在庫が0以外の行が非表示になります。
・元に戻す場合は下段(ご参考 1.)をご覧ください。
■ ご参考までに                        
1. 本例は固定書式内で行制御を行う方法です。データを取り出すケースでは以下をご利用ください。
   ・「Excelデータ抽出(BtRecordQuery)」
   ・「Excelデータ取得(BtMerge)」
2. 非表示行を元に戻す場合は以下のようにセット値を空欄にして実行します。
3. 在庫が100以下の行を表示する場合は任意の行にそのための数式を設定することで対応できます。
  ここでは在庫数が 100 以下の行を表示するために以下の数式をG列に入力しています。
   ・セルG4: =IF(E4>100,"","*") ・・・ 在庫数が100以下の時 "*" を表示します
   ・セルG5: =IF(E5>100,"","*")
  以下セルG14まで同様。
(例題の表と数式の設定イメージ)                        (演算結果)
 ・G列は非表示でも可
 ・数式は以下のように BtCellCopy、BtSetValueで設定することができます。
   a. 「セルデータコピー(BtCellCopy)」ボタンでの設定例
    セルG3に数式 =IF(E3>100,"","*") を入力しておき 「セルデータコピー(BtCellCopy)」ボタンで数式を展開します。
   b. 「セル値セット(BtSetValue)」ボタンでの設定例
    数式の行を対象範囲の開始行に合わせます。
    (ここでの実行結果)
4. 「指定の範囲のデータがある行を表示(BtRowPrint)」セルリンクボタンとの違い。
   このボタンはBtRowとは逆に指定した開始セル位置から列範囲の最初の空白セルの前までを残し、以降の行を非表示にします。
   ・空白セルがある場合はその直前までの表示となります(下図参照)
   (本データでの実行結果イメージ)
     ボタン設定例
(各ボタンの設定内容の詳細はStiLLヘルプをご確認ください)  
Copyright(C) アイエルアイ総合研究所 無断転載を禁じます