OpenOffice.org Basicでガントチャート
OpenOffice.org Basicを使ってガントチャート作成用マクロ ガントチャートforOOoを開発する手順を紹介していきます。
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
項目編集ダイアログ その6

担当者の編集に関する部分の処理を解説します。
担当の編集には編集、追加、削除の3つがあり、それぞれbtnEditPerson、btnAddPerson、btnDelPersonのボタンに処理を割り当てています。

担当者のリストボックスにて対象の担当者を選択してから処理をするので、まず担当者用のリストボックスを初期化する関数を作成します。

Sub Update_lstPersonId
    Dim i As Integer
    i = lstPersonId.getSelectedItemPos
    mdlPerson.setListControl(lstPersonId)
    lstPersonId.SelectItemPos(i, True)
End Sub

これは担当一覧用リストボックスをリスト作成用関数で初期化し、選択済みの項目を選び直すというものです。編集や追加、削除の操作をした後、この処理を毎回行う必要があるので関数化しておくと楽です。

次に編集処理を作成します。

Private Sub btnEditPerson_actionPerformed
    
    Dim i As Integer
    i = lstPersonId.getSelectedItemPos + 1
    If i < 1 Then Exit Sub
    
    If mdlEditPerson.Show(i) Then
        Update_lstPersonId
        flgUpdate = True
    End If
    
End Sub

これは、リストボックスから選択済みの担当IDを取得して担当編集用ダイアログを表示し、編集されればリストを更新して変更フラグを真とするという処理です。

次に追加処理を作成します。

Private Sub btnAddPerson_actionPerformed
    
    Dim i As Integer
    i = mdlPerson.Add
    mdlEditPerson.Show(i)
    Update_lstPersonId
    flgUpdate = True
    
End Sub

担当者追加をして、追加した担当IDを使って担当編集用ダイアログを表示し、編集後リストを更新します。

最後に削除処理を作成します。

Private Sub btnDelPerson_actionPerformed
    
    Dim i As Integer
    i = lstPersonId.getSelectedItemPos + 1
    If i < 1 Then Exit Sub
    
    mdlPerson.Delete(i)
    Update_lstPersonId
    flgUpdate = True
    
End Sub

これは、リストボックスから選択済みの担当IDを取得してその担当を削除し、リストを更新するという処理をします。

担当のデータは編集中以外の項目データにも関連してくるので、mdlPersonできちんと編集用の関数を作成しておかないと処理がとても煩雑になってしまいます。

スポンサーサイト

テーマ:OpenOffice.org - ジャンル:コンピュータ

コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://shinob.blog42.fc2.com/tb.php/72-9f29bdbb
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック
COPYRIGHT(C) 2004 POWERD BY FC2 ALLRIGHT RESERVED.
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。