YKLook説明書 GUIオブジェクト利用の手引き テーブル 前へ   次へ
   

テーブル


テーブルは、行と列で各項目を表示・操作するGUIオブジェクトです。
詳細については クラス解説 YKLookTable をご覧ください。




表示

テーブルを表示するプログラム例です。

require '/opt/yklook/swing'
require '/opt/yklook/swingtable'
def yki_make_display()
    tbl = YKLookTable.new( ['日付','姓','名'] )
    tbl.yk_set_preferred_size( 400, 200 )
    pan = YKLookPanelFlow.new()
    pan.yk_add( tbl )
    yk_add( pan )
    d1 = [ '1867-02-09' , '夏目' , '漱石' ]
    d2 = [ '1989-02-09' , '手塚' , '治虫' ]
    d3 = [ '1999-02-09' , '久野' , '収' ]
    tbl.yk_set_item_data( [d1, d2, d3] )
end

任意の行への追加・削除ができます。
テーブル内のデータとして文字列だけでなく画像(アイコン)も指定できます。
テーブルの各項目データが、テーブル全体の表示サイズを超えるときは、自動的にスクロールバーが表れます。
行単位・列単位・各項目データ単位で、文字色・ツールチップ等の属性を指定することもできます。
任意の行を選択状態にすることもできます。

注意: テーブルを使うときは、上の例にもあるように swing に加えて swingtable も必ずロードしてください。


状態の取得

テーブルの選択状態を取り出すプログラム例です。
「状態取得」ボタンを押すと、テーブルの状態を調べます。
メソッド yk_selected_row() を使います。

require '/opt/yklook/swing'
require '/opt/yklook/swingtable'
def yki_make_display()
    tbl = YKLookTable.new( ['日付','姓','名'] )
    tbl.yk_set_preferred_size( 400, 200 )
    btn = YKLookButton.new( '状態取得' )
    pan = YKLookPanelFlow.new()
    pan.yk_add( tbl )
    pan.yk_add( btn )
    yk_add( pan )
    d1 = [ '1867-02-09' , '夏目' , '漱石' ]
    d2 = [ '1989-02-09' , '手塚' , '治虫' ]
    d3 = [ '1999-02-09' , '久野' , '収' ]
    tbl.yk_set_item_data( [d1, d2, d3] )
    tbl.yk_set_tag( 'table' )
    btn.yk_set_listener( 'fn_callback' )
end
def fn_callback( prm_event )
    tbl = yk_look( 'table' )
    ary = tbl.yk_selected_row()
    msg = '選択状態の項目数は ' + ary.size().to_s() + ' 個です'
    yk_show_dialog_message( nil, msg )
end

上の例は、テーブルを参照するのにタグ名を使った例です。
下の例は、インスタンス変数を使った例です。

require '/opt/yklook/swing'
require '/opt/yklook/swingtable'
def yki_make_display()
    @tb = YKLookTable.new( ['日付','姓','名'] )
    @tb.yk_set_preferred_size( 400, 200 )
    btn = YKLookButton.new( '状態取得' )
    pan = YKLookPanelFlow.new()
    pan.yk_add( @tb )
    pan.yk_add( btn )
    yk_add( pan )
    d1 = [ '1867-02-09' , '夏目' , '漱石' ]
    d2 = [ '1989-02-09' , '手塚' , '治虫' ]
    d3 = [ '1999-02-09' , '久野' , '収' ]
    @tb.yk_set_item_data( [d1, d2, d3] )
    yk_var( '@tb' )
    btn.yk_set_listener( 'fn_callback' )
end
def fn_callback( prm_event )
    ary = @tb.yk_selected_row()
    msg = '選択状態の項目数は ' + ary.size().to_s() + ' 個です'
    yk_show_dialog_message( nil, msg )
end

注意: テーブルを使うときは、上の例にもあるように swing に加えて swingtable も必ずロードしてください。


イベント

テーブルのイベントを処理するプログラム例です。
通常のボタンとは違い、テーブルのイベントを使うことはあまりありません。

require '/opt/yklook/swing'
require '/opt/yklook/swingtable'
def yki_make_display()
    tbl = YKLookTable.new( ['日付','姓','名'] )
    tbl.yk_set_preferred_size( 400, 200 )
    pan = YKLookPanelFlow.new()
    pan.yk_add( tbl )
    yk_add( pan )
    d1 = [ '1867-02-09' , '夏目' , '漱石' ]
    d2 = [ '1989-02-09' , '手塚' , '治虫' ]
    d3 = [ '1999-02-09' , '久野' , '収' ]
    tbl.yk_set_item_data( [d1, d2, d3] )
    tbl.yk_set_listener( 'fn_callback' )
end
def fn_callback( prm_event )
    tbl = prm_event.yk_source()
    ary = tbl.yk_selected_row()
    msg = ary[0].to_s() + ' が選択されました'
    yk_show_dialog_message( nil, msg )
end

テーブルのイベントは YKLookEventTableClick クラスのオブジェクトです。
詳細については クラス解説 YKLookEventTableClick をご覧ください。

イベント処理の基本は YKLook用アプリの製作 > イベント処理 をご覧ください。

注意: テーブルを使うときは、上の例にもあるように swing に加えて swingtable も必ずロードしてください。




   
YKLook説明書 GUIオブジェクト利用の手引き テーブル 前へ   次へ


Copyright (c) 2003-2010 YorozuKotowariYa Ltd.