まあ、GridViewには、DropDownListを持つ 'TemplateField'のような編集可能なフィールドがあります。 マイコード:RoomId、RoomNumber:GridView:GridViewの基底データの編集
<Columns>
...
<asp:TemplateField SortExpression="Room" HeaderText="Room">
<EditItemTemplate>
<asp:DropDownList ID="DropDownList1" Runat="server" DataSourceID="categoryDataSource" DataTextField="RoomNumber" DataValueField="RoomNumber" SelectedValue='<%# Bind("Room") %>'>
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
<ItemTemplate>
<asp:Label Runat="server" Text='<%# Bind("Room") %>' ID="Label1"></asp:Label>
</ItemTemplate>
</Columns>
私のDBは、行を持つテーブルの部屋を持っています。 私のDropDownListでは、テーブルルームからすべての値を設定しようとしています。 テーブルには3行(RoomId、RoomNumber)があります。 2~12; 3 - 24
しかし、エラーに従って書く:
'DropDownList1' has a SelectedValue which is invalid because it does not exist in the list of items.
パラメータ名:私が誤った場所値 をたぶん誰もが知っていますか?
編集:ここではは、SqlDataSourceコントロールコード
<asp:SqlDataSource ID="categoryDataSource" Runat="server"
SelectCommand="SELECT [RoomId], [RoomNumber] FROM [Rooms] ORDER BY [RoomNumber]"
ConnectionString="Data Source=.\MSSQLSERVERR2;AttachDbFilename=|DataDirectory|\ARMDB.MDF;Integrated Security=True;User Instance=True">
</asp:SqlDataSource>
コード(
Bind("Room")
は、部屋番号を返すために起こっていると仮定して)ここ(Googleドキュメント)である:https://docs.google.com/document/d/1R7FU5Ka85G2PAbJJ5vj3MM1Tcd4rDNI-ETOw8oSrnxw/edit – Leoそれは動作しません...私はトラブルがどこにあるのか分からない – Leo