June 2010 Posts

ListView: FindControl im EditItemTemplate

Hier eine einigermaßen vernünftige Lösung um in einem ListView WebControls im EditItemTemplate anzusprechen und Daten vom ListViewDataItem daran zu binden. Ersteres, also das ansprechen der WebControls, ist über den Event “OnItemEditing” kein Problem. Hier liegt beim DataItem der Hase im Pfeffer. Bisher habe ich keine Lösung gefunden an das DataItem im “OnItemEditing”-Event zu kommen. Der logische Versuch über

an das ListViewDataItem zu kommen schlug fehl, da es immer Null ist.

Nach langem tüfteln habe ich nun eine gute Lösung gefunden. Im “ItemDataBound”-Event wird neben dem ItemType auch der DisplayIndex mit dem EditIndex verglichen. Ist dieser gleich und der EditIndex ist gesetzt (else if-zweig) befinden wir uns EditItemTemplate und können auf die WebControls und das ListViewDataItem zugreifen.

Beispiel:

Metallica – Holier Than Thou (Live in Dallas)

I hope it sounds good: