2011-01-18 4 views
1

J'ai créé un ListView qui a permis l'édition, l'assistant a généré la table avec l'utilisation de zones de texte, mais je redemanderai l'utilisation des listes déroulantes pour certaines options.ListView DropDownList Modifier ListView

J'ai créé la liste déroulante

<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> 

La liste déroulante génère avec succès mais ne présente pas lui-même et entrer dans le databse.

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

L'extrait ci-dessus doit utiliser quelque part afin de lier les données, mais quel paramètre at-il besoin de fixer pour transmettre les données?

J'ai tout essayé et ça me donne mal à la tête!

Merci

Répondre

0

Avez-vous essayé:

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

La propriété SelectedValue ne semble pas, mais je crois que vous pouvez le régler de cette façon.

HTH.

0

Qu'essayez-vous d'insérer dans la base de données? Vous ne devriez pas avoir besoin de lier quoi que ce soit si vous ajoutez vos listitems manuellement. Vous pourriez juste

string value = ActionStatusTextBox.SelectedValue; 
0

J'ai eu le même problème. Vérifiez ce fil: Why is employee_id not being inserted into database

La clé était en ajoutant une fonction:

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 

Quelle essentiellement définir la valeur de la liste déroulante quand il en avait besoin, et une fois que je l'ai fait, la valeur allait dans la base de données.

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

    } 
    } 
} 
Questions connexes