PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
14304 | 01/01/17 22:27:14 | RE(9):PB7.0: データウインドウでツリービュー形式 By ryochan |
14303 | 01/01/17 16:29:22 | RE(8):PB7.0: データウインドウでツリービュー形式 By ryochan |
14302 | 01/01/17 16:28:49 | RE(7):PB7.0: データウインドウでツリービュー形式 By ryochan |
14301 | 01/01/17 16:18:51 | RE(6):PB7.0: データウインドウでツリービュー形式 By ryochan |
13118 | 00/09/06 12:40:36 | RE(5):PB7.0: データウインドウでツリービュー形式 By リエッチ |
13097 | 00/09/05 16:22:24 | RE(4):PB7.0: データウインドウでツリービュー形式 By こてちゅ |
13095 | 00/09/05 15:51:20 | RE(3):PB7.0: データウインドウでツリービュー形式 By M.M |
13093 | 00/09/05 15:29:10 | RE(2):PB7.0: データウインドウでツリービュー形式 By dancein |
13089 | 00/09/05 14:05:40 | RE(1):PB7.0: データウインドウでツリービュー形式 By M.M |
13084 | 00/09/05 11:25:44 | PB7.0: データウインドウでツリービュー形式 By dancein |
カテゴリ:データウィンドウ
日付:2001年01月17日 16:29 発信者:ryochan
題名:RE(8):PB7.0: データウインドウでツリービュー形式
string l_sql //SQL文
string l_tree_char //新規ノードのツリー記号
string l_title //ツリー表示用タイトル
long l_row //検索行
long n //カウンタ
datastore l_ds
l_ds = create datastore
l_ds.dataobject = \'d_data\'
l_sql = l_ds.object.datawindow.table.select
//親記事のツリー記号の置換
//「┗」の置換
p = posw(p_tree_char,\'┗\',1)
do while not p = 0
p_tree_char = replacew(p_tree_char,p,1,\' \')
p = posw(p_tree_char,\'┗\',p + 1)
loop
//「┣」の置換
p = posw(p_tree_char,\'┣\',1)
do while not p = 0
p_tree_char = replacew(p_tree_char,p,1,\'┃\')
p = posw(p_tree_char,\'┣\',p + 1)
loop
//子ノードの検索
if isnull(p_no) then
//nullデータ用
l_sql += \"WHERE t_data.parent_no is null \"
else
l_sql += \"WHERE t_data.parent_no = \" + string(p_no) + \" \"
end if
l_sql += \"ORDER BY update_date\"
l_ds.object.datawindow.table.select = l_sql
l_ds.settransobject(sqlca)
l_ds.retrieve()
//タイトルをセット
l_row = l_ds.rowcount()
for n = 1 to l_row
l_tree_char = \'\' //変数初期化
p_no = l_ds.object.no[n]
l_title = l_ds.object.title[n]
if isnull(p_tree_char) then
//ルートの記事は何もセットしない
p_tree_char = \'\'
else
if n = l_row then
//ノードにおける最終記事の場合
l_tree_char = p_tree_char + \'┗\'
else
l_tree_char = p_tree_char + \'┣\'
end if
end if
//ツリー記号を含めたタイトルの生成
l_title = l_tree_char + l_title
//dwにセット
row = dw_1.insertrow(0)
dw_1.object.title[row] = l_title
//再帰処理
wf_retrieve_tree(p_no,l_tree_char)
next
return l_row
関数を呼び出す
long l_lnull
string l_snull
setnull(l_lnull)
setnull(l_snull)
wf_retrieve_tree(l_lnull,l_snull)
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows98
DBMS Oracle SQL*Net 8
Browser InternetExplorer5.X
Server SoftWare
OS Windows NT 4.0
DBMS Oracle 8.0
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.