簡體   English   中英

Power Builder 10.5用戶對象數組到數據窗口表

[英]Power Builder 10.5 user object array to datawindow table

我是Power Builder的新手,我想問一下如何以表格形式表示對象。 例如,給定java中的ArrayList,我已經實現了如下代碼:

    table = new JTable();
    scrollPane.setViewportView(table);


    DefaultTableModel tableModel = 
            new DefaultTableModel(
                        new String[] {
                                "ScheduleNo", 
                                "Start Date", 
                                "End Date", 
                                "No of days", 
                                "Principal Expected", 
                                "Interest Expected", 
                                "EMI amount", 
                                "Factor", 
                                "MeanFactor"}
                        , 0);

    for (Schedule s : pf.getSchedules()){
           Integer schNo  = s.getScheduleNo();
           String startDate = df.format(s.getStartDate());
           String endDate = df.format(s.getEndDate());
           Integer noofdays = s.getNoOfDays();
           String prinExp = String.format("%.2f", s.getPrincipalAmt());
           String intExp = String.format("%.2f", s.getInterestAmt());
           String emi = String.format("%.2f", s.getAmortizedAmount());
           String factor = String.format("%.6f", s.getFactor());
           String mean = String.format("%.6f", s.getProductByFactor());


           Object[]data = {schNo, startDate, endDate, noofdays, prinExp, intExp, 
                   emi, factor, mean};

           tableModel.addRow(data);
        }

    table.setModel(tableModel);

但是我無法找到一種方法來在PowerBuilder中進行操作,而無需連接到數據庫並從中選擇數據,而事實並非如此。

數據來自User Object array [],並且格式與上述Java示例完全相同。

在我不知道自己要完成什么工作的情況下,似乎可以使用“正常的” PowerBuilder數據窗口,但是在定義它時,會將其數據源設置為外部。 這種類型的數據窗口不需要連接到數據庫。 創建數據源時,可以將其定義為字符串,數字等。

在代碼中,您可以創建一個數據窗口(或與此相關的數據存儲)控件,向其分配外部數據源數據窗口對象,插入一行,然后使用相應數據類型的數據填充字段。

用法示例:

datawindow ldw
long llrow
ldw = CREATE datawindow
ldw.dataobject = 'myExternalDatawindowObject'
llrow = ldw.insertrow(0)
ldw.setitem(llrow,'stringcolumn','my example string')
ldw.setitem(llrow,'numericcolumn',1234)

自從我使用PowerBuilder已經有一段時間了,但是IIRC您應該能夠在沒有數據庫連接的情況下使用DataStore。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM