我检查过这个解决方案,我找到的解决方案使用的是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>
答案 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
}