как связать выпадающий список в gridview?

У меня есть gridview, в котором каждая строка содержит выпадающий список. Я хочу динамически связывать каждый раскрывающийся список. Может кто-нибудь сказать мне, как я могу это сделать. Заранее спасибо

Если вы используете столбец шаблонов, вы можете связать выпадающее меню с разметкой, используя выражения привязки данных. Например,

     

Выше предполагается, что ваши выпадающие данные постоянны по строкам. Если он меняется, вы можете использовать выражение привязки данных, такое как

  

GetDropDownData будет защищенным методом в коде, который вернет данные (data.table, список, массив) для данной строки.

Вы можете использовать событие GridView.RowDataBound (или событие RowCreated) в коде для заполнения раскрывающихся списков. Например,

  protected void GridView_RowDataBound(Object sender, GridViewRowEventArgs e) { if(e.Row.RowType == DataControlRowType.DataRow) { // Find the drop-down (say in 3rd column) var dd = e.Row.Cells[2].Controls[0] as DropDownList; if (null != dd) { // bind it } /* // In case of template fields, use FindControl dd = e.Row.Cells[2].FindControl("MyDD") as DropDownList; */ } } 

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

           

Вот ваш gridview

            

и ваше событие RowDataBound для gridview будет

  protected void GridView2_RowDataBound(object sender, GridViewRowEventArgs e) { string cities = "maxico,chennai,newdelhi,hongkong"; string [] arr = cities.Split(','); // Instead of string array it could be your data retrieved from database. if (e.Row.RowType == DataControlRowType.DataRow) { DropDownList ddl = (DropDownList)e.Row.FindControl("DrdDatabase"); foreach (string colName in arr ) ddl.Items.Add(new ListItem(colName)); } } 
 protected void gvSalesAppData_RowDataBound(Object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { DropDownList ddlCurrentPhase = (DropDownList)e.Row.FindControl("ddlCurrentPhase"); DropDownList ddlProductFamily = (DropDownList)e.Row.FindControl("ddlProductFamily"); DropDownList ddlProductGroup = (DropDownList)e.Row.FindControl("ddlProductGroup"); DropDownList ddlETProgramManager = (DropDownList)e.Row.FindControl("ddlETProgramManager"); DropDownList ddlPLMForTheProduct = (DropDownList)e.Row.FindControl("ddlPLMForTheProduct"); TrackingToolObj.BindCurrentPhases(ddlCurrentPhase); TrackingToolObj.BindCurrentPhases(ddlProductFamily); TrackingToolObj.BindProductGroups(ddlProductGroup); TrackingToolObj.GetEmployeesBasedOnRoleTypeId(ddlETProgramManager, (int)OSAEnums.RoleTypes.ProgramManager, false); TrackingToolObj.GetEmployeesBasedOnRoleTypeId(ddlPLMForTheProduct, (int)OSAEnums.RoleTypes.PLM, false); } } 

Связывание GridView

Ниже приведен код привязки элемента GridView с данными.

C #

 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.BindData(); } } private void BindData() { string query = "SELECT top 10 * FROM Customers"; SqlCommand cmd = new SqlCommand(query); gvCustomers.DataSource = GetData(cmd); gvCustomers.DataBind(); } private DataTable GetData(SqlCommand cmd) { string strConnString = ConfigurationManager.ConnectionStrings["conString"].ConnectionString; using (SqlConnection con = new SqlConnection(strConnString)) { using (SqlDataAdapter sda = new SqlDataAdapter()) { cmd.Connection = con; sda.SelectCommand = cmd; using (DataTable dt = new DataTable()) { sda.Fill(dt); return dt; } } } } 
  • Отображение изображений из определенной папки на SD-карте с использованием gridview
  • Как скрыть столбец (GridView), но все же получить доступ к его значению?
  • Сброс позиции прокрутки после обратной пересылки Async - ASP.NET
  • Экспорт GridView в несколько листов Excel
  • Lazy загружает изображения в gridView
  • Как скрыть столбцы в ASP.NET GridView с автогенерированными столбцами?
  • Как удалить строку из GridView?
  • Полная обратная передача, вызванная LinkButton внутри GridView внутри UpdatePanel
  • Условно скрыть CommandField или ButtonField в Gridview
  • Как отключить прокрутку GridView в Android?
  • Изменение цвета ячейки на разные значения - Gridview
  • Interesting Posts

    Почему для MediaPlayer для Android требуется много времени для подготовки некоторых живых streamов для воспроизведения?

    Преобразование frameworks в изображение и сохранение его

    Необычное «предупреждение LNK4042» Visual Studio 2010,

    Как избавиться от ошибок com.apple.launchd.peruser в моем журнале?

    Mac OS X автоматически отключает аэропорт, если кабель Ethernet подключен

    LinearLayout не расширяется внутри ScrollView

    Трек, чтобы увидеть, когда изменяется вид в угловом

    Внешняя сортировка строк, ограниченная памятью, с объединенными и подсчитанными дубликатами на критическом сервере (миллиарды имен файлов)

    Внедрить разделение с битовым оператором

    Список допустимых символов для идентификатора fragmentа в URL-адресе?

    Как получить HttpServletRequest в моих весенних бобах?

    Как извлечь информацию из инфобокса Wikipedia?

    Папка JNI в Android Studio

    Есть ли окна, эквивалентные файлу .bashrc в linux?

    Маршрутизация Rails для обработки нескольких доменов в одном приложении

    Давайте будем гением компьютера.