エラーはです。ddlgvRoomsのSelectedValueは、項目のリストに存在しないため無効です。 パラメータ名:値Gridview EditTemplate DropDownlist
は、私は、この特定の問題が、フィックスの非の問題を持つ人々の多くは、このようなappenddatabounditems =「true」を設定するなど、いくつかの異なるものを試してみました、私のcase.Iのために働いている読んでも試してみましたitemcollectionにデフォルトのヌル値を設定します。 私が読んだこのフォーラムのほとんどは、すでにこのバグを修正してほしいと思っていて、何かを見落としていると思っていました。
私はカスケードドロップダウンリストをgridview edittemplateフィールドで動作させようとしています。私はinsertviewのすべてのディテールビューでこれらを作成しました。
MySetupを は基本的に私は、私はcreated.TheデータセットがSQLSTOREDPROCEDURESのカップルからデータを取得してい2つのデータセットからのデータをつかむことになっている2つの機能のgetRoomsとgetJacksを持つWebメソッドを持っています。
私のaspxページのドロップダウンリストとAjaxCDDLページは、おそらくそれが読み込まれる前にダウンリストあなたのドロップの選択した値を設定しようとしている。この
<EditItemTemplate>
<asp:DropDownList ID="ddlgvRooms" runat="server"
SelectedValue='<%# Bind("intRoom") %>'>
</asp:DropDownList> <asp:CascadingDropDownID="ddlgvRooms_CascadingDropDown"
runat="server"
Enabled="True"
TargetControlID="ddlgvRooms"
Category="Jack"
ServiceMethod = "GetRooms"
ServicePath = "CascadingDropDownRooms.asmx"
LoadingText = "[Loading Rooms...]"
PromptText="Please Select Room">
</asp:CascadingDropDown>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblgvRoom" runat="server" Text='<%# Eval("intRoom") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="JackNumber" SortExpression="intJack">
<EditItemTemplate>
<asp:DropDownList ID="ddlgvJacks" runat="server"
Height="20px" Width="125px">
</asp:DropDownList>
<asp:CascadingDropDown ID="ddlgvJack_CascadingDropDown"
runat="server"
Enabled="True"
Category="Jack"
ServiceMethod="GetJacks"
ServicePath="CascadingDropDownRooms.asmx"
TargetControlID="ddlgvJacks"
ParentControlID="ddlgvRooms"
LoadingText="[Loading Jacks...]"
PromptValue="Please Select A Jack">
</asp:CascadingDropDown>
</EditItemTemplate>
<WebMethod()> _
Public Function GetRooms(ByVal knownCategoryValues As String, ByVal category As String) As CascadingDropDownNameValue()
Dim roomAdapter As New dsRoomsTableAdapters.roomlistTableAdapter()
Dim roomValues As New List(Of CascadingDropDownNameValue)()
For Each row As DataRow In roomAdapter.GetAllRooms()
roomValues.Add(New CascadingDropDownNameValue(row("RoomName").ToString(), row("intRoom").ToString()))
Next
Return roomValues.ToArray()
End Function
<WebMethod()> _
Public Function GetJacks(ByVal knownCategoryValues As String, ByVal category As String) As CascadingDropDownNameValue()
Dim kv As StringDictionary = CascadingDropDown.ParseKnownCategoryValuesString(knownCategoryValues)
Dim jackid As Integer
If ((Not kv.ContainsKey("Jack")) Or (Not Int32.TryParse(kv("Jack"), jackid))) Then
Return Nothing
End If
Dim jackAdapter As New dsRoomJacksTableAdapters.jacklistTableAdapter()
Dim jackValues As New List(Of CascadingDropDownNameValue)()
For Each row As DataRow In jackAdapter.GetJacksByRoomId(jackid)
jackValues.Add(New CascadingDropDownNameValue(row("JackNumber").ToString(), row("intJack").ToString()))
Next
Return jackValues.ToArray()
End Function
私が追加しようとした'> FirstRoom asp:ListItem> SecondRoom asp:ListItem> asp:DropDownList>しかし、まだ同じエラーが返されました –
Tim