2010-01-15 5 views
1

J'ai un listview et j'aimerais calculer un total cumulé de valeurs. chaque dataitem que j'ai lié à ma listview, a un "montant". sur ListView1_ItemDataBound, je voudrais obtenir la valeur "montant" de l'élément de données, mais je ne trouve pas comment accéder à l'élément.ListView Total cumulé

Ceci est un peu similaire, je pense, sauf que je veux un total cumulé, pas un total à la fin.

Displaying totals in the ListView LayoutTemplate

Répondre

1

Vous devriez être en mesure de trouver l'élément dans votre DataItem dans votre ListViewItem. Un exemple de code peut ressembler à:

public int ListViewTotal 
{ 
get; set; 
} 

    protected void MyListView_ItemDataBound(object sender, ListViewItemEventArgs e) 
    { 
    if (e.Item.ItemType == ListViewItemType.DataItem) 
    { 
     // Retrieve the underlying data item. In this example 
     // the underlying data item is a DataRowView object.   
     DataRowView rowView = (DataRowView)dataItem.DataItem; 

     ListViewTotal += rowView["amount"]; 

     //Set text of listview control to new total: 
     Label lbl = (Label)e.Item.FindControl("myAmountLabel"); 
     lbl.Text = ListViewTotal.ToString(); 
    } 
    } 

Espérons que cela vous aide dans la bonne direction.

+0

Comment obtenez-vous dataItem? D'où vient "dataItem"? – Mike

+0

Merci! Je l'ai fait fonctionner. ((ListViewDataItem) e.Item) .DataItem; – Mike