C# 如何在AspxGridView中设置asp:dropdownlist的选定值

C# 如何在AspxGridView中设置asp:dropdownlist的选定值,c#,asp.net,devexpress,aspxgridview,C#,Asp.net,Devexpress,Aspxgridview,我四处寻找解决方案,找到的解决方案使用SqlDataSource,但我不是这样填充的。我将项目硬编码到html中,网格绑定到数据集。 这是我第一次在任何类型的网格中使用下拉列表,我感到困惑。我尝试在项目模板中使用ComboBoxColumn,但在尝试查找combobox控件时遇到了重大问题,因此我使用了普通的asp:DropDownList。如果你想知道,我甚至找不到没有返回null的控件 因此,随着网格的填充,我需要设置下拉列表的选定值 标记是 <dx:ASPxGridView ID="

我四处寻找解决方案,找到的解决方案使用SqlDataSource,但我不是这样填充的。我将项目硬编码到html中,网格绑定到数据集。 这是我第一次在任何类型的网格中使用下拉列表,我感到困惑。我尝试在项目模板中使用ComboBoxColumn,但在尝试查找combobox控件时遇到了重大问题,因此我使用了普通的asp:DropDownList。如果你想知道,我甚至找不到没有返回null的控件

因此,随着网格的填充,我需要设置下拉列表的选定值

标记是

<dx:ASPxGridView ID="xgvEdit" runat="server" Width="100%">
<Columns>
    <dx:GridViewDataColumn FieldName="roleID" Caption="ID" Visible="false"></dx:GridViewDataColumn>
    <dx:GridViewDataColumn FieldName="modulID" Caption="Document/UseCase (Right Object)">
        <Settings AutoFilterCondition="Contains" />
    </dx:GridViewDataColumn>
    <dx:GridViewDataColumn FieldName="right_level" Caption="Right Level">
        <DataItemTemplate>
            <asp:DropDownList ID="ddRightLevel" runat="server" AutoPostBack="false">
                <asp:ListItem Text="No Right" Value="0" />
                <asp:ListItem Text="Read" Value="1" />
                <asp:ListItem Text="Write" Value="2" />
                <asp:ListItem Text="Execute" Value="3" />
            </asp:DropDownList>
        </DataItemTemplate>
    </dx:GridViewDataColumn>
    <dx:GridViewDataColumn FieldName="comments" Caption="Comments">
        <Settings AutoFilterCondition="Contains" />
    </dx:GridViewDataColumn>
</Columns>


我想这是一个自定义GridView,它继承了
asp:GridView
。您需要添加事件

OnRowDataBound="Grid_RowDataBound"
在代码隐藏中:

    protected void ProductGrid_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.DataItem == null)
            return;


       DropDownList ddl= e.Row.FindControl("ddRightLevel") as DropDownList;
       //do stuff
     }

您是在客户端脚本中查找这些控件还是在回发服务器端查找这些控件?我是在后台代码中的服务器端查找它们的,我尝试使用FindControl、FindEditFormTemplateControl,但仍然没有骰子。这就是为什么我按照我的方式设置它我尝试过你的建议,总是抛出一个空值。网格视图为devexpress gridview。主要问题是在数据集中的下拉列表中设置所选值。@Chris尝试使用ItemTemplate而不是DataItemTemplate,这将填充网格行中的下拉列表?@Chris检查此数据网格是否有OnItemBound事件,如果是,则在事件中执行此操作。我什么都想不出来else@Chris您首先需要将下拉列表的dataSource设置为与DataSet相等,然后将DataBind()设置为下拉列表!然后在RowDataBond中设置SelectedItem值。