Powerbuilder - テキスト入力はTextBoxかDWか

画面にテキスト入力コントロールを配置する時

  • Windowコントロールのテキストボックスを配置するか
  • DWを配置してその中にカラムを配置するか

...どっちの方がいいのかよく悩む。

 

 

どちらでも同じことが出来るとは思うが

ただ単に文字を入力させたいだけならWindowコントロールで十分だろう。

何せDWはカラムの行数や名称を指定しないと値の取得や値のセットができない

ls_text = dw_1.GetItemString(カラム行数,"対象カラム名")

カラム名を間違えるとエラーで落ちるし、DWのカラム名を変えたらコーディングも変えないといけなくて煩雑になりがち。

テキストボックスならコントロール名に.textをつけるだけで値の取得やセットができる

ls_text = テキストボックス名.text

ただ、少し複雑なことをやるならDWのほうが便利だったりする。
DWのカラムなら入力可能最大文字数(最大値)の設定や、項目が編集されたかどうかをステータス(DWItemStatus)によって判断することができる。

 

結局の所、データベースを更新するかどうか

こういった場合、個人的には「何を入力させるか」で判断する。

DBに登録/更新する為のデータを入力させるのであればチェック処理も必要になるのでDWのカラムで作ったほうが便利だと思う。

逆に検索条件等の入力にしか使わない単純な入力フォームであれば、Windowコントロールのテキストボックスやエディットマスクでいいと考えている。

ただ入力にしか使用しない単純な入力エリアをDWで作成するとDWのハンドリングの手間が増えるだけでメリットがないからだ。

コメントする