問題タブ [datawindow]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
11158 参照

powerbuilder - Excel ファイルをデータウィンドウにインポートする方法

.xlsx ファイルを PowerBuilder DataWindow にインポートしたいです。CSV 形式で実行できることはわかっていますが、ユーザーは xlsx 形式を使用したいと考えています。インポートするオプションがあれば教えてください。

0 投票する
1 に答える
157 参照

datawindow - データを縦に表示するのではなく、データウィンドウの表示形式を変更するにはどうすればよいですか

powerbuilder.net

どのように見えるか垂直

私が望むもの: 水平

0 投票する
2 に答える
3172 参照

powerbuilder - 別のデータウィンドウのレコードをクリックしてウィンドウを開く

select を使用してレコードを取得するデータウィンドウがあります。

私がやりたいことは、任意のレコードをクリックして新しいウィンドウ/データウィンドウを開いて、選択/クリックしたレコードに関する詳細情報を表示できるようにすることです。

私はPB8を初めて使用し、現在これに苦労しています。

正しい方向に私を導いてください、本当に感謝します。

乾杯。

0 投票する
1 に答える
2576 参照

excel - Powerbuilder で xlsx として保存すると、170000 行を超えると機能せず、-1 が返されるかクラッシュする

SaveAsDataWindow関数の使用時に問題が発生しました。以前は、関数は Excel8 形式で動作し、行数は 65536 を超えませんでした。しかし、現在、エクスポートする必要がある DW に 300000 以上の行がある可能性があります。

形式を XLSX! に変更し、SaveAs66 列で 170000 行を保存することに成功しました。

しかし、180000 以上の行数の DW は保存されませんでした。クラッシュしたり、-1 を返したりすることもありました。しかしその後、Powerbuilder を再起動した場合にのみ、小さな dw-s をエクスポートできました。

このマシンは Windows 8 を使用しており、16 GB の RAM があり、Office がインストールされています。私は Powerbuilder バージョン 12.5.2 を使用しています。

Windows 7 と 3GB の RAM、さらに Powerbuilder 12.5 を搭載した別のマシンで小さなテスト プログラムを作成しました。別の列を追加すると再びクラッシュしましたが、990000 行と 15 列の .xlsx 形式で DW を正常に保存しました。

Excel の制限事項を読みましたが、保存しようとしているものには問題ないようです。

上記の状況で何を確認するか、何をすべきか考えていますか?

0 投票する
1 に答える
997 参照

tree - Powerbuilder ツリー ノードの選択された行の色

ツリー ビュー データウィンドウがあり、行を選択すると、行全体が青色で強調表示されます。色を青から透明に設定するにはどうすればよいですか?

0 投票する
1 に答える
1639 参照

powerbuilder - DW ImportClipboard と検証の間でデータを操作する

Excel ドキュメントからコピー/貼り付けを使用して入力できるようにしたいデータウィンドウがあります。現在、日付フィールドを除いて、必要なものすべてをインポートしています。現在、ユーザーは MM/YYYY 日付を含む Excel ファイルからすべてを手動で入力し、[保存] をクリックすると、システムが日付コンポーネントを追加して、Oracle データベースに日付フィールドとして渡すことができます。

コピー/貼り付けを実装した後、日付フィールドは MM/YYYY 形式 (例: 11/2013) の Excel ファイルから取得され、すぐに PowerBuilder がデータ検証エラー メッセージ (アイテム '11/2013' は検証テストに合格しません) を表示します。貼り付け済みです。

インポートを続行すると、他のすべてのデータが正しく貼り付けられます。Excel で日付を 2013 年 1 月 11 日と手動で変更すると、日付を含むすべてが正しく貼り付けられます。Excel ドキュメントはサードパーティから保護されており、日付形式を変更して日付コンポーネントを含めることはできません。

メソッドを使用しdw.ImportClipboard()てクリップボードからデータを取得し、それを正しい DW 列に割り当てています。コードスニペット:

日付フィールドの前にImportClipboard()a を追加して検証に合格するために、関数と自動検証の間でデータを傍受できる方法はありますか? DD/おそらく、上記のコードのプロセスデータのさらなるセクションにあります。

あるいは、それを行うためのより良い方法はありますか?

ありがとう。

PowerBuilder Classic 12.5 を使用しています。これは、もともと PB8 で開発されたアプリケーションです。

編集: データストアの使用が提案され、それを調べました。それが私が求めているもののようです。しかし、私はそれを私のために働かせることができませんでした。

これが私がやったことです:

どちらのメッセージ ボックスも表示されませんが、インポート クリップボードを削除すると、メッセージ ボックスは正常に表示されます。それらが機能していない理由を特定できません..

行を変更すると:

(これは DW オブジェクトの名前です)

メッセージボックスはエラーコード -4 を返します。ドキュメントによると、これは無効な入力を意味します。いつも持っているのと同じ行とデータをコピー/貼り付けているので、なぜこれを行っているのかよくわかりません。

EDIT2/ソリューション:

示唆されたように、外部データ ソースを選択して列を追加する新しいデータウィンドウ オブジェクト (リッチテキスト) を作成し、今回は必要な日付フィールドを文字列にしました。次に、上記のように、新しいデータ オブジェクトを参照して importClipboard を実行する DataStore を作成しました。次に、日付文字列に日付コンポーネントを追加しました。

次に、データウィンドウ オブジェクトをデータストアの値と等しくしました。

ご意見とアイデアをありがとうございます。