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

时间:2014-11-15 01:24:50

标签: c# asp.net devexpress aspxgridview

我检查过这个解决方案,我找到的解决方案使用的是SqlDataSource,但我没有这样填充它。我在html中有硬编码的项目,并且网格绑定到数据集。 这是我第一次在任何类型的网格中使用下拉菜单,我感到困惑。我尝试在项目模板中使用ComboBoxColumn但是在尝试查找组合框控件时遇到了重大问题,所以我使用了普通的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>

1 个答案:

答案 0 :(得分:0)

我认为这是继承asp:GridView的自定义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
     }