隨筆 - 6  文章 - 129  trackbacks - 0
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(14)

          隨筆檔案(6)

          文章分類(467)

          文章檔案(423)

          相冊

          收藏夾(18)

          JAVA

          搜索

          •  

          積分與排名

          • 積分 - 827222
          • 排名 - 49

          最新評論

          閱讀排行榜

          評論排行榜

          PFC中關于TreeView的用法講解

          轉自:http://www.pb9.com.cn/showtopic-190.html

          PFC中關于TreeView的用法講解

          (lily_banana)

          u_tvs

          描述:
          基于 TreeView 可視用戶對象祖先。該對象采用 數據存儲(DataStores)顯示TreeView 的數據。
          U_tvs 是一個自更新的對象。
          對應的庫:
          PFCMAIN.PBL
          PFEMAIN.PBL
          對象關系:
          Object relationships
              PFC 可視用戶對象被設計用于從w_master繼承來的窗口。U_tvs 也用于:
              m_tv
              n_cst_infoattrib
              n_ds
              n_cst_luw
              n_cst_tvsrv
              n_cst_tvsrv_levelsource
              n_cst_print
          用法:
          在窗口中用該可視用戶對象代替PowerBuilder的 TreeView 控件。 U_tvs 事件的腳本可以和PFC的菜單進行集成。
          要使用 u_tvs:
          1    在窗口中添加一個u_tvs用戶對象控件。
          2    根據需要使TreeView 的服務可用:
          this.of_SetPrint(TRUE)
          this.of_SetLevelSource(TRUE)
          this.of_SetBase(TRUE)
          3    為樹的每一層指定數據源:
          String  ls_sql
          Integer  li_return
             
          ls_keys[1] = "dept_id"
              this.inv_levelsource.of_Register(1, "dept_name", "", "d_deptlist", SQLCA, "")
                ls_keys[1] = "emp_id"
          this.inv_levelsource.of_Register(2, "emp_lname", ":parent.1.dept_id",  &
                "d_empbydept", SQLCA, "")
          4    根據需要為樹脂定其余的顯示信息:
          this.inv_levelsource.of_SetPictureColumn(1, "1")
          this.inv_levelsource.of_SetSelectedPictureColumn(1,"2")
          this.inv_levelsource.of_SetPictureColumn(2, "4")
          this.inv_levelsource.of_SetSelectedPictureColumn(2, "5")

          5    檢索 TreeView的第一行:
          this.event pfc_populate(0)
          6    擴展pfc_Retrieve 事件使檢索參數生效:
          Any  la_args[20]
          Integer  li_level

          IF IsValid(inv_levelsource) THEN
                      li_level = this.of_GetNextLevel(al_parent)
                      this.inv_levelsource.of_GetArgs(al_parent, li_level, la_args)
          END IF
          Return this.of_Retrieve(al_parent, la_args, ads_data)

          7    根據需要調用u_tvs 的其他函數。
          要獲取關于TreeView 的更多信息,參見《PowerBuilder User's Guide》

          n_cst_tvsrv_print

          描述:
          TreeView 打印服務

          對應的庫
          PFCAPSRV.PBL
          PFEAPSRV.PBL

          用法:

          要使用該系統:

          1    調用u_tvs of_SetPrint 函數激活該服務:
          tv_1.of_SetPrint(TRUE)
          2    調用of_PrintTree 函數來打印 TreeView 數據:

          String  ls_levelpicts[10]
          String  ls_levelselpicts[10]

          ls_levelpicts[1] = "dept.bmp"
          ls_levelpicts[2] = "emp.bmp"
          ls_levelselpicts[1] = "deptsel.bmp"
          ls_levelselpicts[2] = "empsel.bmp"
          tv_1.inv_print.of_PrintTree(0, TRUE, ls_levelpicts, ls_levelselpicts)

          of_Register 函數:
            語法1 通過一個DataWindow 對象來顯示數據。
          描述:
              通過檢索DataWindow對象的行來建立TreeView的各級數據層
          范圍:
          Public
          語法:
          tvcontrol.instancename.of_Register ( level, labelcolumn, retrievespec,    dwobject, trans, filterspec )

          參數描述:
          tvcontrol        u_tvs-based TreeView 控件的實例
          instancename    n_cst_tvsrv_levelsource的實例 ( u_tvs 的確省值為 inv_levelsource)
          level            Integer 指定TreeView 數據的層次及數據
          labelcolumn    String 指定u_tvs 用于TreeView項標簽的dwobject 的列名。
          retrievespec    String  包含用于dwobject 檢索條件
          dwobject        String 指定用于數據檢索的 DataWindow 對象
          trans            N_tr 用于檢索dwobject的事務對象。如果該參數未指定,則dwobject必須已含有數據。
          filterspec          String 包含需要的過濾條件

          返回值
          Integer. 具體如下:
          ? 1  成功
          ? -1  參數有效性錯誤
          ? -2  Dwobject 沒有指定鍵列(key columns)
          ? -3  上一層被標記為循環。
          ? -4  Column level datatype was not in the data source
          ? -5  為數據源設置事務對象出錯
          ? -7  Cache 注冊錯誤

          用法:
              TreeViwe的每一層調用該函數一次。
          檢索參數的格式如下:
          :scope.level.column

          where:

          ? Scope 指定層(Level)或者父層(Parent):
          ? Level  絕對層數
          ? Parent  和當前層相關的數

          ? 根據Scope指定的數的性質不同,Level 來制定一個絕對或相對層數。
          Scope 指定    Level 指定
          Level
              你指定的絕對數。例如::level.1.emp_name 表示檢索參數來自于祖先的-1層的emp_name 列

          Parent    你指定的項相對于當前層的值。例如, :parent.2.emp_name 表示檢索參數來源于上兩層祖先的emp_name 列

          ? Column 指定含有用于檢索參數值的DataWindow 對象的列名



          of_SetPictureColumn 函數:

          描述:
          指定未選中時的圖標
          范圍:
          Public
          語法:
          tvcontrol.instancename.of_SetPictureColumn ( level, column )

          參數描述:
          tvcontrol        u_tvs-based TreeView 控件的實例
          instancename    n_cst_tvsrv_levelsource的實例 ( u_tvs 的確省值為 inv_levelsource)
          level            Integer 指定被設置圖標的層號
          column        String 指定下述之一:
          ? u_tvs 用于找到圖片的DataWindow 對象的列名,該列可以包括一個文件名或者一個值,指示 u_tvs 來找到 TreeView的圖片序列號
          ? 值, 指示 u_tvs 來找到 TreeView的圖片序列號

          返回值:
          Integer. 1,成功;-1,失敗。

          用法:
          調用該函數前需要調用of_Register函數


          posted on 2010-07-04 10:40 Ke 閱讀(805) 評論(0)  編輯  收藏 所屬分類: powerBuilder
          主站蜘蛛池模板: 仙桃市| 康乐县| 巴林右旗| 且末县| 台东市| 虞城县| 宁武县| 镇沅| 正安县| 鞍山市| 莒南县| 吐鲁番市| 盐边县| 东丽区| 鸡泽县| 河北省| 凤庆县| 海南省| 白朗县| 宁津县| 藁城市| 昭觉县| 乐安县| 延寿县| 遵化市| 开封市| 荥阳市| 札达县| 伊春市| 应城市| 南康市| 富川| 漳浦县| 香格里拉县| 定襄县| 集贤县| 肇州县| 通河县| 溧水县| 乐都县| 怀仁县|