0

如果我将下拉列表列放在 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也没有显示!

4

1 回答 1

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。

于 2013-12-12T08:37:01.137 回答