- 題名: ドロップダウンリスト内項目に引継情報を初期設定させたい
- 日時: 2010/12/23 12:11:26
- ID: 27889
- この記事の返信元:
- (なし)
- この記事への返信:
- [27890] Re[1]: ドロップダウンリスト内項目に引継情報を初期設定させたい2010/12/23 15:23:26
- ツリーを表示
■No27889 に返信(はちまきさんの記事) > 1)Me.ddSZipMst.DataTextField=引継情報.Value.Trimとか > 1)DataBinding: 'System.Data.DataRowView' には 兵庫県 という名前のプロパティは含まれません。 DropDownList.DataTextField は DropDownList に表示するプロパティ名を設定する ものです。データソースのプロパティ名を設定する必要があります。 aspx には ZipNm プロパティを参照するように記述されています。書き換えてはいけません。 <asp:DropDownList ID="ddSZipMst" runat="server" DataSourceID="dsSZipMst" DataTextField="ZipNm" DataValueField="ZipNm" AppendDataBoundItems="True"> > 2)Me.ddSZipMst.SelectedValueで試しているのですが、 > 2)項目一覧に存在しないため、'ddSZipMst' に SelectedValue を指定することは無効です。パラメータ名: value Page.Load イベントで DropDownList.SelectedValue に値を設定しようとされているのです よね。Page.Load イベントは DropDownList.DataBound イベントよりも早いタイミングに 発生します。そのため DropDownList.SelectedValue に設定しようとした値が項目一覧に存在 しないということになるのではないかと思います。 DropDownList.DataBound イベントで DropDownList.SelectedValue に値を設定してみて はいかがでしょうか。
分類:[ASP.NET]
皆様
いつも参考にさせていただいております。
SQLで取得した結果と画面引継情報をドロップダウン項目の初期値としたいのですがエラー画面が表示され、悩んでおります。アドバイスをお願い致します。
1)Me.ddSZipMst.DataTextField=引継情報.Value.Trimとか
2)Me.ddSZipMst.SelectedValueで試しているのですが、
デバッグモードで左辺の項目を確認すると引継情報が設定されておりません。
■エラー表示内容
1)DataBinding: 'System.Data.DataRowView' には 兵庫県 という名前のプロパティは含まれません。
2)項目一覧に存在しないため、'ddSZipMst' に SelectedValue を指定することは無効です。パラメータ名: value
SQLからの取得した結果には47都道府県名が設定させれております。
VB.NET側のForm_Load処理ロジックに
If Page.PreviousPage.IsCrossPagePostBack Then
…
…
を記述し、ASP側でSQLが実行され、その後、VB.NET側で引き継いだ都道府県名を設定する。としたいのですが、クライアント処理、サーバ側処理が混乱しているのかと思います。解決に結びつかずご教示頂きたく、よろしくお願いします。
[ASP内のコーディング]
<asp:DropDownList ID="ddSZipMst" runat="server" DataSourceID="dsSZipMst"
DataTextField="ZipNm" DataValueField="ZipNm"
AppendDataBoundItems="True">
</asp:DropDownList>
<asp:SqlDataSource ID="dsSZipMst" runat="server"
ConnectionString="<%$ ConnectionStrings:ENJ-STAGE1_crm2 %>"
SelectCommand="SELECT DISTINCT Ltrim(Rtrim([都道府県名称])) as ZipNm from [s_zip_mst] ORDER BY ZipNm">
</asp:SqlDataSource>
※Vb.net側でのコーディングをコメントあうとするデータは取得できております。
[ASP画面でのHTML生成情報]
<select name="ctl00$body$ddSZipMst" id="ctl00_body_ddSZipMst">
<option value="愛知県 ">愛知県 </option>
<option value="愛媛県 ">愛媛県 </option>
<option value="茨城県 ">茨城県 </option>
<option value="岡山県 ">岡山県 </option>