- PR -

mobile:ObjectListについて

1
投稿者投稿内容
ターキッシュ
大ベテラン
会議室デビュー日: 2003/01/15
投稿数: 126
投稿日時: 2003-10-17 14:04
いつも勉強させて頂いております。ターキッシュと申します。

現在携帯向けのページを開発しておりますが、mobile:ObjectList
に関して質問があります。

DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("CODE_NAME", typeof(string)));
dt.Columns.Add(new DataColumn("CODE_NO", typeof(string)));
dt.Columns.Add(new DataColumn("REMARK", typeof(string)));
DataRow dr;

dr = dt.NewRow();
dr["CODE_NAME"] = "AAAA";
dr["CODE_NO"] = "001";
dr["REMARK"] = "NOTHING";
dt.Rows.Add(dr);

のようにして作成したDataTableを

protected System.Web.UI.MobileControls.ObjectList ForecastDisplay;
で定義し

ForecastDisplay.DataSource=dt;
ForecastDisplay.DataBind();

にバインドします。
そして、

HTML側では下記のように設定しております。
<mobile:ObjectList id="ForecastDisplay" runat="server">
<Field Title="CODE_NAME" DataField="CODE_NAME"></Field>
<Field Title="CODE_NO" DataField="CODE_NO"></Field>
<Field Title="REMARK" DataField="REMARK"></Field>
</mobile:ObjectList>

この状態で表示しますと、CODE_NAME列しか表示されません。
三列の表示は不可能なのでしょうか?
それともDataTableの設定等が間違ってるんでしょうか?

ご存知の方いらっしゃいましたら、ご教授お願いします。
よろしくお願いします。






なぬらに
会議室デビュー日: 2003/02/28
投稿数: 9
投稿日時: 2003-10-20 16:26
はじめまして
ObjectList.TableFieldsプロパティを参照してみてください
コード:
ForecastDisplay.DataSource=dt; 
ForecastDisplay.DataBind(); 
ForecastDisplay.TableFields = "CODE_NAME;CODE_NO;REMARK";

ターキッシュ
大ベテラン
会議室デビュー日: 2003/01/15
投稿数: 126
投稿日時: 2003-10-21 17:58
なぬ様ご返答ありがとうございました。

この方法で、ブラウザベースでは無事表示が可能になったのですが、
Openwave SDK Universal Edition1.1で表示するとやはり一列
しか表示されません。
Nokiaのシュミレータでもやはり一列しか表示されませんでした。

どうも、Mobile Ineternet Toolkitに関しての根本的な知識不足
ですので、何か良いサイト等ご存知でしたら教えていただけませんで
しょうか?

よろしくご教授ください。
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2003-10-21 19:23
引用:

この方法で、ブラウザベースでは無事表示が可能になったのですが、
Openwave SDK Universal Edition1.1で表示するとやはり一列
しか表示されません。
Nokiaのシュミレータでもやはり一列しか表示されませんでした。

どうも、Mobile Ineternet Toolkitに関しての根本的な知識不足
ですので、何か良いサイト等ご存知でしたら教えていただけませんで
しょうか?



TableFieldsプロパティに複数のフィールドを記述しても携帯端末にすべてのフィールド
が表示されるとは限りません。複数のフィールドを表示するときは、LabelFieldプロパティにCODE_NAMEを設定して携帯端末にCODE_NAMEのリンクを表示させます。リンクに移動すると、CODE_NAMEが見出しとして表示されて、CODE_NOとREMARKが詳細欄に表示されます。

ASP.NET Mobileの書籍を購入して参考にされてはどうでしょうか。



[ メッセージ編集済み 編集者: Mr.ADO.NET 編集日時 2003-10-23 09:23 ]
ターキッシュ
大ベテラン
会議室デビュー日: 2003/01/15
投稿数: 126
投稿日時: 2003-10-22 07:59
Mr.ADO.NET様ご返事ありがとうございます。

LabelFieldにCODE_NAMEを設定する方法は既に試しておりましたが、
この方法ですと、ワンクリック(携帯でそう言うのかどうかは解りませんが)
発生してしまいますので、できることなら一度に三列表示したいと思って
おりました。

一列に文字列を連結した場合は、うまく表示されるのですが、
CODE_NAME + CODE_NO + REMARK
の長さがが半角、全角文字列でうまく揃わない為、三列連結を試みておりました。

一列にして、文字列処理でカバーするしかないのでしょうか?

それから、よろしければ「ASP.NET Mobileの書籍」で何か良い物ございましたら
教えていただけますでしょうか?
よろしくお願いします。
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2003-10-23 09:21
引用:

一列に文字列を連結した場合は、うまく表示されるのですが、
CODE_NAME + CODE_NO + REMARK
の長さがが半角、全角文字列でうまく揃わない為、三列連結を試みておりました。

一列にして、文字列処理でカバーするしかないのでしょうか?


モバイル向けのWebフォームはハードにより画面サイズが異なりますので
あまりハードに依存したフォームを設計しない方が良いのではないでしょうか。
エミュレータで1列に表示されても、本番では異なる場合もありますので・・・


引用:

それから、よろしければ「ASP.NET Mobileの書籍」で何か良い物ございましたら
教えていただけますでしょうか?
よろしくお願いします。


和書では、ASP.NET Mobileのタイトルは少ないようです。Amazon.co.jpで洋書を検索してみてはどうでしょうか。
1

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