2014-03-04 4 views
0

У меня возникла проблема с выпадающим списком внутри gridview.Как получить обновленное значение dropdownlist из строки gridview для сохранения?

Сетка представляет собой обновление команды rowcreated с выпадающим списком и набором значений (который отлично работает). Выбранные значения в раскрывающемся списке могут быть изменены пользователем, а затем сохранены.

Когда я нажимаю save, мне нужно получить каждое новое выбранное значение из выпадающего списка и сохранить его в списке int, если он еще не был добавлен.

Все это работает нормально, но я не могу получить обновленное значение, которое выбрал пользователь, только то, что уже было заполнено в качестве выбранного элемента при его настройке.

protected void btnSave_Click(object sender, EventArgs e) 
{ 
    List<int> list = new List<int>(); 
    foreach (GridViewRow r in gvOrder.Rows) 
    { 
     if (r.RowType == DataControlRowType.DataRow) 
     { 
      DropDownList ddl = r.FindControl("ddlNewO") as DropDownList; 
      int value = Convert.ToInt16(ddl.SelectedItem.Text); 
      bool Contains = list.Contains(value); 
      if (!Contains) 
      { 
       list.Add(value); 
      } 
      else 
      { 
       lblMessage.Text = "This value is already assigned!"; 
      } 
     } 
    } 
} 

Пример: если есть 9 строк, каждые из выпадающего имеет номер 1-9, и это выбранное число является индексом строки. Если я войду после загрузки страницы и выберем первые три как «1» и нажмите «Сохранить», она пробежит и все еще выберет значения с момента ее загрузки, например. 1,2,3.

ответ

0

мне нужно, чтобы убедиться, что мой GridView вратаря связывают дважды:

 if (!IsPostBack) 
     { 
      PopulateGridview(); 
     } 
Смежные вопросы