- PR -

携帯端末でDBServerから取得したデータをグリッドに表示する方法について

1
投稿者投稿内容
みかん
常連さん
会議室デビュー日: 2006/08/08
投稿数: 31
投稿日時: 2008-11-03 16:17
いつもお世話になっております。

携帯のWindowsアプリケーションを開発しています。
WebServiceでDBServerからデータを取得し、DataGridに表示しようとしています。
取得したデータはIListに格納しています。
これをDataGridのDataSourceに設定してもDataGridに表示されません。
表示させる手立てはないものでしょうか?
また、一般的にはどのようなやり方をするのでしょうか?

ご教授いただければ幸いです。
よろしくお願いいたします。

開発環境

携帯端末(X-Zero3)
WindowsMobile6.0
.NET2005
CompactFramework2.0 Sp2

サーバ
.NET2003 FW1.1
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2008-11-03 23:29
回線がいきなり切れたり、品質が悪くなったりと通信回線の面から携帯電話やPSHといった端末から直接データベースサーバーに接続するような設計はあまりしない方が良いかもしれません。データベースサーバーとお話するWebServiceのような物を作って、携帯端末はそちらとお話をするような設計にしてはどうでしょうか。

で、DataGridViewにデータが表示されない件ですが、Bindした時点でデータソースの中身はどうなっているんでしょう。リモートでバックしてデータの中身をのぞいてみてください。
_________________
かるあ のメモスニペット
みかん
常連さん
会議室デビュー日: 2006/08/08
投稿数: 31
投稿日時: 2008-11-04 23:35
お返事ありがとうございます。
携帯電話からはラディウスを経由してサーバにアクセスします。

DataSouceの中身を確認しました。
IListに格納してあるデータ構造とデータがそのままセットされています。

DBのデータ取得対象のTableをTableAとします。
ClassAはTableAのカラムと同じプロパティをもちます。
データ取得時にTableAの1レコード分がClassAにセットされ
IListに追加されます。
これをTableAのレコード数分繰り返したデータがIListに格納されています。

DataSouceにIListのデータをセットしても、DataGridには
レコード数分の行ヘッダのようなものが左にでるだけで、列ヘッダ(カラム名)やデータは
表示されません。

ご存知のことや案等がありましたら、ご教授よろしくお願い致します。

[ メッセージ編集済み 編集者: みかん 編集日時 2008-11-04 23:35 ]
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2008-11-05 09:36
列が定義されていないとか
AutoGenerateColumn が false になっているとか。

_________________
かるあ のメモスニペット
みかん
常連さん
会議室デビュー日: 2006/08/08
投稿数: 31
投稿日時: 2008-11-05 10:06
ご提示ありがとうございます。

CompactFrameworkにDataGridViewがないのでDataGridを使用しています。
DataGridにはAutoGenerateColumnはありませんでした。
また、DataGridTextBoxColumnにMappingNameとHeaderTextを設定し
DataGridTableStyleにセットしたものをdataGrid.TableStylesに
追加しているのですが表示できません。

DataGridTableStyleのMappingNameは"ClassA[]"にしていますが
間違いでしょうか?

ご教授よろしくお願いいたします。
1

スキルアップ/キャリアアップ(JOB@IT)