我正在定义一个GridView,如下所示:
<asp:GridView ID="MediaViewsGrid" DataSourceID="MediaViewsDataSource"
runat="server"
AutoGenerateColumns="False">
<Columns>
<asp:CommandField ShowEditButton="True" ShowDeleteButton="true" />
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lblLanguage" runat="server" Text='<%# Eval("Language.Name") %>' />
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="ddlLanguages"
DataSourceID="LanguageDataSource"
DataTextField="Name"
DataValueField="Code"
OnDataBound="ddlLanguages_OnDataBound"
runat="server" />
</EditItemTemplate>
</asp:TemplateField>
当我点击“编辑”时,我正在尝试为ddlLanguages下拉列表设置默认值。是定义OnDataBound函数并在那里设置所选索引的正确解决方案吗?
如果是这样,我该怎么做?或者有更好的解决方案吗?
答案 0 :(得分:0)
您的主题是数据网格,但您的代码是gridview。我会假设gv。
以下是一个示例:
protected void gvOrderSummary_RowDataBound(Object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow &&
(e.Row.RowState == DataControlRowState.Edit ||
(e.Row.RowState == (DataControlRowState.Alternate | DataControlRowState.Edit))))
{
((DropDownList)e.Row.Cells[4].Controls[1]).SelectedValue = DataBinder.Eval(e.Row.DataItem, "orderStatusId").ToString();
}
}