我是Uday Satardekar,
在我的nridubai.com网站中,我正在使用Listview中的EditTemplate编辑活动信息。
我想要从所选国家/地区修改国家/地区。我没有使用sqlDataSource。
我从页面后面的代码填充国家/地区列表。为此,我使用了 OnItemDataBound 事件。这将显示编辑模式下的所有国家/地区。
这对我来说很好。
当我在editmode文本框中打开lisview时,事件名称显示来自数据库的eventname。
如果在编辑模式下加载国家/地区的首次下拉列表,则必须显示国家/地区属于事件。像TextBox控件。
我试试这个
<asp:DropDownList ID="lstEditCountry" runat="server"
selectedValue='<%# Eval("country_name") %>'
Width="174" />
但它有例外。
请帮帮我。举例..................
提前致谢.....
答案 0 :(得分:4)
当行处于编辑模式时,您必须将lstEditCountry
绑定到数据源。见here
protected void List_ItemDataBound(object sender, ListViewItemEventArgs e)
{
//Verify there is an item being edited.
if (List.EditIndex >= 0)
{
//Get the item object.
ListViewDataItem dataItem = (ListViewDataItem)e.Item;
// Check for an item in edit mode.
if (dataItem.DisplayIndex == List.EditIndex)
{
// Preselect the DropDownList control with the Title value
// for the current item.
// Retrieve the underlying data item. In this example
// the underlying data item is a DataRowView object.
DataRowView rowView = (DataRowView)dataItem.DataItem;
// Retrieve the Title value for the current item.
String title = rowView["Title"].ToString();
// Retrieve the DropDownList control from the current row.
DropDownList list = (DropDownList)dataItem.FindControl("lstEditCountry");
//********populate the ddl here***********
// Find the ListItem object in the DropDownList control with the
// title value and select the item.
ListItem item = list.Items.FindByText(title);
list.SelectedIndex = list.Items.IndexOf(item);
}
}
}