编辑Gridview时如何使用DropdownList

时间:2012-02-27 14:38:32

标签: c# asp.net gridview

DropDownList中有GridView。在编辑操作期间,所有行中的DropDownList在编辑(和更新)时都能正常工作。

但在某些行中,当我单击编辑按钮时,它会显示以下错误:

  

'DropDownList3'有一个SelectedValue,它是无效的,因为它确实如此   项目列表中不存在。参数名称:值

这是代码:

<asp:DropDownList ID="DropDownList3" runat="server" DataSourceID="AccessDataSource4"
    DataTextField="ProvinceName" DataValueField="ProvinceName" SelectedValue='<%# Bind("Province") %>'>
</asp:DropDownList>

表“RateCenters”显示在Gridview中,其中包含“省列”。省列从表ProvinceList的“省名”获取源。

请让我知道解决方案。

2 个答案:

答案 0 :(得分:2)

您的标记表示您将SelectedValue的{​​{1}}绑定到父数据源中的“省”字段(DropdownList的数据源)

Gridview中的值来自DropDownList控件中的“省名”字段。

此错误表示您的代码正在从AccessDataSource4数据源(“省”字段)中选择一个值,该值在GridView的“省名”字段中返回的值列表中不存在控制。


快速解决此问题的方法是修改AccessDataSource4的“SelectCommand”,使其运行与AccessDatasource4控件的数据源相同的查询,但只需要一列(“省名” “)在GridView列表中。这样,您可以保证具有相同的值。

答案 1 :(得分:1)

如果以编程方式在DDL(DropDownList)中设置一个实际上不存在于列表中的值,则会出现此错误。

  

场景:您在DDL中选择选项5,但它只包含3   选项,例如

告诉我们使用更多关于您的代码的内容,以便我们进行调查。