как найти элемент управления в шаблоне редактирования элемента?

У меня есть gridview в форме и есть поле шаблона, одно из которых:

      

теперь в событии RowEditing мне нужно получить выбранное значение dropdownlist страны, а затем я установлю это значение как Ddlcountry.selectedvalue = value; так что, когда появляется раскрывающийся список шаблона элемента редактирования, он покажет выбранное значение, а не индекс 0 из раскрывающегося списка. но я не могу получить значение выпадающего списка. Я уже пробовал это:

 int index = e.NewEditIndex; DropDownList DdlCountry = GridView1.Rows[index].FindControl("DdlCountry") as DropDownList; 

нужна помощь пожалуйста. Thanx.

Вам нужно снова привязать GridView чтобы иметь доступ к EditItemTemplate управления в EditItemTemplate . Поэтому попробуйте следующее:

 int index = e.NewEditIndex; DataBindGridView(); // this is a method which assigns the DataSource and calls GridView1.DataBind() DropDownList DdlCountry = GridView1.Rows[index].FindControl("DdlCountry") as DropDownList; 

Но вместо этого я бы использовал RowDataBound для этого, иначе вы дублируете код:

 protected void gridView1_RowDataBound(object sender, GridViewEditEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { if ((e.Row.RowState & DataControlRowState.Edit) > 0) { DropDownList DdlCountry = (DropDownList)e.Row.FindControl("DdlCountry"); // bind DropDown manually DdlCountry.DataSource = GetCountryDataSource(); DdlCountry.DataTextField = "country_name"; DdlCountry.DataValueField = "country_id"; DdlCountry.DataBind(); DataRowView dr = e.Row.DataItem as DataRowView; Ddlcountry.SelectedValue = value; // you can use e.Row.DataItem to get the value } } } 

Вы можете попробовать использовать этот код – на EditIndex property

 var DdlCountry = GridView1.Rows[GridView1.EditIndex].FindControl("DdlCountry") as DropDownList; 

Ссылка: http://msdn.microsoft.com/fr-fr/library/system.web.ui.webcontrols.gridview.editindex.aspx

  • Android gridview сохраняет выбранный элемент
  • Лучший способ сделать сортировку WPF ListView / GridView при нажатии на заголовок столбца?
  • Столбцы двух связанных таблиц базы данных в одном ASP.NET GridView с EntityDataSource
  • Редактирование строки Gridview - динамическое связывание с DropDownList
  • Сетка изображений внутри ScrollView
  • Создание элементов таблицы GridView
  • Как установить GridView внутри ScrollView
  • как связать выпадающий список в gridview?
  • Получить индекс Row в событии Rowcommand от Asp.net
  • GridView - отображать заголовки на пустом источнике данных
  • Получить значения DataKey в GridView RowCommand
  • Давайте будем гением компьютера.