如果我将我的dropdownlist列放在ItemTemplate中,它会出现,但我无法更改该值。当我把它放在EditItemTemplate中时:
<EditItemTemplate>
<asp:DropDownList DataValueField="COLUMN_NAME" DataTextField="COLUMN_NAME" DataSource='<%#GetDataSourceDesCol()%>' Width="90%" Visible=true ID="ddlDesCol" runat="server">
</asp:DropDownList>
</EditItemTemplate>
然后我的ddl不再显示了。如何解决?
p / s:即使我尝试使用新项目和简单的代码,例如:
<asp:GridView ID="GridView1" AutoGenerateColumns=false runat="server">
<Columns>
<asp:TemplateField>
<EditItemTemplate>
<asp:DropDownList ID="DropDownList1" runat="server">
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
ddl也没有出现!
答案 0 :(得分:0)
仅当网格视图处于编辑模式时,编辑项模板中的所有控件才可见。
因此,您需要将网格设置为编辑模式。为了使您的代码有效。
希望这会有所帮助..
如果您想将整个网格视图置于编辑模式:
protected void btnEdit_Click(object sender, EventArgs e)
{
GridView1.EditIndex = 1;
}
如果您希望特定行处于编辑模式
只需实现Row_Editing事件并执行以下操作:
protected void Row_Editing(object sender, GridViewEditArgs e)
{
myGridView.EditItemIndex = e.EditItemIndex;
BindData();
}
绑定数据将使用数据填充GridView。