簡體   English   中英

ListView-從所選項目中獲取列值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM