[英]ListView - Grabbing a column value from the selected item
我正在尝试避免数据绑定,因为我不了解它并且需要完成此操作。但是我正在尝试的所有操作似乎都无法正常工作。 例如,我想打印出所选项目的第二列。.但是我在Google上看到的所有内容都说当我的出于某种原因没有一个项目时要使用SubItems?
<ListView Name="myListView" MouseDoubleClick="myListView_MouseDoubleClick_1">
<ListView.View>
<GridView>
<GridViewColumn Header="H1" DisplayMemberBinding="{Binding Col1}"/>
<GridViewColumn Header="H2" DisplayMemberBinding="{Binding Col2}"/>
<GridViewColumn Header="H3" DisplayMemberBinding="{Binding Col3}"/>
</GridView>
</ListView.View>
</ListView>
private void Button_Click_1(object sender, RoutedEventArgs e)
{
myListView.Items.Add(new { Col1 = "test1", Col2 = "Test2", Col3 = "test3" });
}
private void myListView_MouseDoubleClick_1(object sender, MouseButtonEventArgs e)
{
//THIS DOESN'T WORK, SubItems doesn't exist?
myListView.SelectedItems[0].SubItems[0].Text.ToString();
}
尝试将SelectedItem
为特定类型。 之后,您将可以访问该项目的全部属性。 由于您在此处具有匿名类型,请尝试将其强制转换为dynamic
:
var selectedItem = (dynamic)myListView.SelectedItems[0];
MessageBox.Show(selectedItem.Col3);
对我来说,它像这样工作:
myListView.SelectedItems[0].SubItems[1].Text;
但是,我从sql数据库填充listview。 您只创建项目,但没有子项目。 这是参考,如何创建:
https://msdn.microsoft.com/en-us/library/system.windows.forms.listviewitem.subitems(v=vs.110).aspx
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.