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

У меня есть 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

  • GridView с двумя столбцами, шириной заливки
  • Сетка изображений внутри ScrollView
  • Как удалить строку из GridView?
  • Преобразование DBContext в ObjectContext для использования с GridView
  • Проблемы с GridView внутри ScrollView в android
  • Как я могу экспортировать GridView.DataSource в datatable или dataset?
  • Сброс позиции прокрутки после обратной пересылки Async - ASP.NET
  • Пересечение столбцов GridLayoutManager Android Recyclerview
  • добавление текстового интерфейса для перетаскивания - Android / Java
  • разделители / разделители строк сетки андроида
  • Как отключить прокрутку GridView в Android?
  • Давайте будем гением компьютера.