ListView DropDownList Редактировать ListView - PullRequest
1 голос
/ 18 января 2011

Я создал ListView с включенным редактированием, мастер сгенерировал таблицу с использованием текстовых полей, но для некоторых параметров мне требуется использование раскрывающихся списков.

Я создал раскрывающийся список

 <asp:DropDownList ID="ActionStatusTextBox" runat="server">
                    <asp:ListItem Value="Ongoing">Ongoing</asp:ListItem>
                    <asp:ListItem Value="Open">Open</asp:ListItem>
                    <asp:ListItem Value="Closed">Closed</asp:ListItem>
 </asp:DropDownList>

Выпадающий список генерируется успешно, но не отправляется и не вводится в базу данных.

<%# Bind("ActionStatus") %>'

Приведенный выше фрагмент необходимо где-то использовать для привязки данных, но какой параметр делаетэто нужно приложить, чтобы передать данные?

Я попробовал все, и это дает мне правильную головную боль!

Спасибо

Ответы [ 4 ]

0 голосов
/ 08 сентября 2011
protected void ContactsListView_ItemDataBound(object sender, ListViewItemEventArgs e)
{

  //Verify there is an item being edited.
  if (ContactsListView.EditIndex >= 0)
  {

    //Get the item object.
    ListViewDataItem dataItem = (ListViewDataItem)e.Item;

    // Check for an item in edit mode.
    if (dataItem.DisplayIndex == ContactsListView.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("TitlesList");

      // 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);

    }
  }
}
0 голосов
/ 12 февраля 2011

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

string value = ActionStatusTextBox.SelectedValue;
0 голосов
/ 09 июня 2011

У меня была такая же проблема.Проверьте эту тему: Почему employee_id не вставляется в базу данных

Ключ был в добавлении функции:

Protected Sub AbsentListView_ItemInserting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.ListViewInsertEventArgs) Handles AbsentListView.ItemInserting
    e.Values("employee_id") = DirectCast(AbsentListView.InsertItem.FindControl("ExcusedAbsences_employee_idDropDownList2"), DropDownList).SelectedValue
End Sub

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

0 голосов
/ 18 января 2011

Вы пробовали:

<asp:DropDownList .. SelectedValue='<%# Bind("ActionStatus") %>' />

Свойство SelectedValue не отображается, но я считаю, что вы можете установить его таким образом.

HTH.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...