0

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 の例とまったく同じ形式です。

4

2 に答える 2

1

あなたが達成しようとしていることを本当に知らなくても、「通常の」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)
于 2016-02-18T11:59:30.040 に答える
0

PowerBuilder を使用してからしばらく経ちましたが、IIRC を使用すると、データベースに接続しなくても DataStore を使用できるはずです。

于 2016-02-17T22:57:30.947 に答える