エルタブレで正しくデータバインドを行うには?

解決


れいこ  2007-01-12 21:05:24  No: 97616

お世話になります。
環境
  クライアント : WinXp  サーバ : Win2003R2
  開発環境 : Oracle10g、VS2005、EltabelleSheet4.0 

DBのテーブルをデータバインドした結果をエルタブレに表示したいのですが
以下の現象が発生して困っています。
①明細の右端の列にNullが表示されることがある。
  (DBにはデータが存在する)
②全ての行にNullが表示されるのではなく、ところどころに
  Nullが表示される。
③同じ操作を実行しても、現象が起きたり起きなかったりする。

正しく明細を表示する場合もあるので、コーディングやデータバインドは
うまくいっているように思えます。
GrapeCityのバグレポートを確認しましたが、該当するものは
ありませんでした。

原因、解決策、または回避策をご存知の方いらっしゃいましたら
ご教授ください。


オショウ  2007-01-12 21:30:17  No: 97617

EltabelleSheet4.0は持っていないのですが・・・
あくまで推測

Oracleの場合、大抵はミドルウェアでの接続で、接続方法やミドルウェア
のバージョンで上記のようなトラブルが出たり無くなったりします。

何を使ってOracleに接続されていますか?
ODP.NET?

その辺を見直してみて下さい。

以上。


れいこ  2007-01-12 22:11:44  No: 97618

ご返信ありがとうございます。

ADO.NETでORACLEに接続しています。

試しに以下のコーディングのようにして、データバインドした後に、
エルタブレの右端の列に値を入れ直してみたところ、
現象が発生しなくなりました。
(これは無駄なループをデータ件数の分だけ実行するので、
  パフォーマンス上最適な回避策とは言えません。)

実際のコーディング(同じセルに値を代入しているだけ)
 Dim a As Integer
 For a = 0 To shtTable.MaxRows - 1
     shtTable(shtTable.MaxColumns - 1, a).Value = _
     shtTable(shtTable.MaxColumns - 1, a).Value
 Next

よってミドルウェア接続によるデータバインド自体は
うまくいっているように思えるのですが・・・


れいこ  2007-01-13 00:41:01  No: 97619

自己レスです。

Nullが表示される、右端の列を再度表示し直すことで
回避することにしました。
(根本的な原因と、解決策がわからないので・・・
  レスポンスはかなり悪くなりますが)

オショウさん、ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加