ListView的项目有DropDownList:如何在选择更改时获取DataItem?

时间:2012-10-30 22:12:23

标签: asp.net listview data-binding dataitem

所以我有这样的事情:

My ListView setup

在“产品”组合框下,有一个ListView,显示用户单击“添加”按钮添加所选产品时添加的新项目。

当用户为产品选择产品描述符时,我需要更改关联数据绑定对象的属性。我如何访问该对象?我有给定Product Descriptor ComboBox的SelectedIndexChanged事件的处理程序,但是如何获取包含其选择更改的ComboBox的行的DataItem?

我考虑过ListView的ItemCommand事件,但在这种情况下我无法看到如何使用它。

我也看过这篇文章,其中一个回答提到在hiddenfields中存储id: DropDownList inside Repeater: How to handle SelectedIndexChange and get DataItem?

但在那种情况下,我如何从隐藏的字段中获取ID?

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

您只需要投射DropDownList的{​​{3}}:

var ddl      = (DropDownList) sender;
var item     = (ListViewItem) ddl.NamingContainer;
var rowView  = (DataRowView)  item.DataItem;

答案 1 :(得分:0)

Tim Schmelter的回答让我得出了这个答案:

            Dim comboBox = CType(sender, RadComboBox)
            Dim item = CType(comboBox.NamingContainer, ListViewItem)
            Dim myListItem = myCollection(item.DataItemIndex)