LoginSignup
0
0

More than 5 years have passed since last update.

[StaticTable編](3)高さと幅の設定

Last updated at Posted at 2018-12-25

このサンプルはStaticTableの高さと幅の設定方法です。

メソッド:setMaxHeight(),setMaxWidth()

ステップ1:Static Tableの表示をする画面と関数を作成します。

ステップ2:Static Tableの表示を確認します。

ステップ1:Static Tableの表示をする画面と関数を作成します。

1-1.<画面>ー<画面レイアウト作成>の画面を開き、「新規」ボタンをクリックします。

image.png

1-2.「画面名」にStaticTableを入力、「管理ID」にStaticTableを入力し、ボタンタイプの項目数に1を入力し、「保存して次へ」ボタンをクリックします。

image.png

1-3.「フォルダ追加管理」ダイアログボックスが表示されます。画面の登録対象フォルダを選択して「登録」ボタンをクリックします。

image.png

1-4.<画面>-<画面レイアウト作成>の画面を開き、画面レイアウト設計「StaticTable」行の「編集」ボタンをクリック、「画面レイアウト設計」画面を表示します。

image.png

1-5.「画面デザイン」画面が表示されます。この画面で項目の移動、変更などが自由に行えます。

image.png
「閉じる」ボタンを右クリックし、削除を左クリックします。
image.png
「btn2」ボタンを右クリック。「項目定義」をクリックし項目名「btn2」を「検索」変更します。「保存」ボタンをクリックし変更を保存します。
image.png
image.png
ツールバーで「項目追加」ボタンをクリック。項目名と項目IDを入力して「表示種類」に「表」を選びます。「保存」ボタンをクリックします。
image.png
image.png
表設定を行います。「表データ件数」に「複数件」を選択します。
image.png

作成した表に3列を追加します。「ITEM1」を左クリックし選択します。「ITEM1」を右クリックし「列の挿入」を左クリックします。
image.png
image.png

「ITEM1」を左クリックして選択します。「ITEM1」を右クリックし「コントロール設定」を左クリックします。
image.png
「項目名」を入力し、「保存」ボタンをクリックします。ほかのタイトルも同じように設定します。
image.png
下図の通りに設定します。
image.png

3行目の「ITEM1」を左クリックし選択します。そして、「ITEM1」を右クリックし「行削除」を左クリックします。
image.png
削除した後「社員ID」下のセル「ITEM1」をダブルクリックします。
image.png
キーボードの「Backspace」で値を削除します。同じ行のセルも削除します。
image.png

「給料」下のセルを左クリックし選択します、セルを右クリックし「コントロール設定」を左クリックします。
image.png
項目名を入力、「書式設定->横寄せ」に「右」を選んで保存します。
image.png
キーボードの「Backspace」で「項目名1」を削除します。
image.png

ツールバーで「項目追加」ボタンをクリックします。
image.png
項目名を入力し、「表示種類」に「Textbox」を選びます。
image.png
自由に項目の移動、変更などができます。最後に「保存」ボタンをクリックします。
image.png

1-6.関数作成
statictable_sample2
var st1 = getStaticTable("static4");
var strSql = new StringBuilder();
var param = [1];
var al = null;
var row = null;
var userID = getObj('txt36'); 
var background = "d6e6ff";
var fontcolor = "000000";
var week = "";
var yakushoku;
var stopFlg = false;
try {
    strSql.setLength(0);
    strSql.append(
        "SELECT ID, NAME, DEPT, AGE, SALARY FROM EMPLOYEE"
    );
    //検索条件:社員ID
    if (userID != null && userID != "") {
        strSql.append(" WHERE ID  LIKE '%" + userID + "%'");
    }
    strSql.append(" ORDER BY ID");
    // 日報承認データ取得
    al = exequeryarrylist(strSql.toString());
    if (al != null && al.size() > 0) {
        var list = new ArrayList();
        for (var i = 0; i < al.size(); i++) {
            var maptimuzhou = new HashMap();
            var keibItemBean = new ItemBean();
            row = al.get(i);
            keibItemBean = new ItemBean();
            keibItemBean.setValue(row.get(0));
            keibItemBean.setBackground(background);
            keibItemBean.setFontColor(fontcolor);
            // 社員ID
            maptimuzhou.put("lbl15", keibItemBean);
            keibItemBean = new ItemBean();
            keibItemBean.setValue(row.get(1));
            keibItemBean.setBackground(background);
            keibItemBean.setFontColor(fontcolor);
            // 社員名
            maptimuzhou.put("lbl17", keibItemBean);
            keibItemBean = new ItemBean();
            keibItemBean.setValue(row.get(2));
            keibItemBean.setBackground(background);
            keibItemBean.setFontColor(fontcolor);
            // 所属
            maptimuzhou.put("lbl35", keibItemBean);
            keibItemBean = new ItemBean();
            keibItemBean.setValue(row.get(3));
            keibItemBean.setBackground(background);
            keibItemBean.setFontColor(fontcolor);
            // 年齢
            maptimuzhou.put("lbl29", keibItemBean);
            keibItemBean = new ItemBean();
            keibItemBean.setValue(row.get(4));
            keibItemBean.setBackground(background);
            keibItemBean.setFontColor(fontcolor);
            // 給料
            maptimuzhou.put("lbl23", keibItemBean);
            list.add(maptimuzhou);
          //list.add(maptimuzhou);
        } 
        //表のすべての項目情報を設定
         st1.setData(list);
          st1.setMaxHeight(500);
         st1.setMaxWidth(800);
         ActStr += "" + JsUtil.saasforce_item2js(st1, true, null);
    } else {
        var list = new ArrayList();
        var map = new HashMap();
        list.add(map);
        ActStr = "alert('該当データは存在しません。');";
    }
} catch (e) {
    trace(e);
    ActStr = "alert('検索時エラーが発生しました。システム管理者にご連絡してください。[" + e + "]');";
}
このサンプルに使っているメソッドは以下の通りです。(リンクをクリックすると説明書に遷移します)

1.setMaxHeight: 最大高さを設定
2.setMaxWidth: 最大幅を設定
<ツール>-<ユーザー定義関数>の画面を開き、中央上の「検索条件」ボタンをクリックします。左から2番目「新規」ボタンをクリックします。
image.png
「プロパティ定義」画面にて、「関数名称」を入力、「利用範囲」に「詳細画面利用関数」を選択、「関数利用画面」に「P00005-StaticTable」を選択して、「処理方式」に「同期処理」をチェック、「実行場所」に「サーバー」をチェックします。
image.png
「関数編集」画面にて、関数をコピーします。関数コードのgetObject()の引数は関数デザイン画面の表の「項目ID」と同じです。そして、 maptimuzhou.put()の引数「lbl15」はタイトル「社員ID」下の項目IDと同じです。maptimuzhou.put()他の引数も同じように設定します。「保存」ボタンをクリックして、「関数ID」を取得できます。
image.png
<画面>-<画面レイアウト作成>の画面を開き、「StaticTable」行の「編集」ボタンをクリックします。
image.png
「画面デザイン」にて、検索ボタンを右クリックしコード表示を左クリックします。
image.png
「関数タイプ」に「詳細画面利用関数」を選択し、関数名称が自動に表示されます。「保存」ボタンをクリックします。
image.png

ステップ2:Static Tableの表示を確認します。

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0