2
我想在RowBound事件下的EditItemTemplate下的GridView中綁定dropdownlist。但它給了我在下拉列表中的空行:這是我設計在gridview中編輯項目模板中的下拉列表的編程
<asp:TemplateField HeaderText="Description">
<ItemTemplate>
<asp:Label ID="lblDescription" runat="server" Text='<%# Bind("Description") %>' Width="400px"></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:Label ID="lblCity" runat="server" Text='<%# Bind("Description") %>'></asp:Label>
<asp:DropDownList ID="ddlCities" runat="server" Width="400px"></asp:DropDownList>
</EditItemTemplate>
<FooterTemplate>
<asp:DropDownList ID="ddlNewDescFooter" runat="server" Width="400px" OnSelectedIndexChanged="ddlCitiesFooter_SelectedIndexChanged">
</asp:DropDownList>
</FooterTemplate>
</asp:TemplateField>
現在,這裏是我行DataBound事件:
protected void grdFerries_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowState == DataControlRowState.Edit)
{
DropDownList ddlCities = (DropDownList)e.Row.FindControl("ddlCities");
DataAccessClass DAC = new DataAccessClass();
string Query = "select description from JoursFeries where Year(JoursFeries.date) >= Year(GETDATE()) order by date asc";
DataTable dtddl = DAC.ReturnDatatablefromQuery(Query, DBConnectionString);
ddlCities.DataSource = dtddl;
ddlCities.DataTextField = "description";
ddlCities.DataValueField = "description";
ddlCities.DataBind();
ddlCities.Items.Insert(0, new ListItem("--Select--", "0"));
}
}
我越來越空白下拉列表。請幫助。
謝謝Rahul,但仍然按照您的答覆編輯代碼後,我有同樣的問題dropdownlist是空白的。我在Gridview的RowDataBound事件中添加了代碼。 –
@Abhishek_Chourasia - 你在'OnRowEditing'事件中重新表達gridview嗎?沒有它,它不會工作。 –
是Rahul,行編輯(grdFerries_RowEditing),我正在重新綁定網格: 行編輯代碼: grdFerries.SelectedIndex = e.NewEditIndex; FillDataGridView(); –