2017-04-07 9 views
1

SQLデータベースからListViewを作成しています。 listviewには、XAMLに定義された3つの列があります。Listview列からコンテンツを抽出します。c#/ wpf

<ListView x:Name="lstAS7" Grid.Row="1"> 
<ListView.View> 
    <GridView> 
     <GridViewColumn x:Name="AS7Nom" Header="{DynamicResource AS7_Nom}" Width="350" DisplayMemberBinding="{Binding AS7_Nom}"/> 
     <GridViewColumn x:Name="AS7Lib" Header="{DynamicResource AS7_Lib}" Width="350" DisplayMemberBinding="{Binding AS7_Lib}"/> 
     <GridViewColumn x:Name="AS7Prix" Header="{DynamicResource AS7_Prix}" Width="80" DisplayMemberBinding="{Binding AS7_Prix}"/> 
    </GridView> 
</ListView.View> 

の背後にあるコードは、次のいずれか、私はselectedItemsの内容を取得し、メッセージボックスを画面に表示するボタンを追加し、テストするために

foreach (DataRow valeur in ds.Tables["TB1"].Rows) 
{ 
    lstAS7.Items.Add(new { AS7_Nom = valeur["NAME"], AS7_Lib = valeur["TEXT_SHORT"], AS7_Prix = valeur["PRICE"] }); 
} 

です。 これが結果です。

{AS7_Nom = "DVI_AT_HS_unit_07242802"、AS7_Libは= " 力デリザーバを設定し、ヘマトクリットデムーブル:676〜800ミリメートルと、SYSTEME AVENTOS HSを注ぐ"、AS7_Prix = 0}

どのようにすることができあなたは、プロパティ値をretriveことができるようにdynamicキーワードを使用することができListViewItemsコレクションに匿名型のオブジェクトを追加しているので、列「AS7_Nom」

+0

すべての行またはセルの内容(1行、1列)の内容を意味しますか? – grek40

+0

私のコードのように、1つの選択された行から1つの特定の列の内容 "AS7_Nom"列 – Mike

+0

見てください:http://stackoverflow.com/a/1203538/5265292 – grek40

答えて

0

を正しくありませんため、1列から情報を取得する:

dynamic selectedItem = lstAS7.SelectedItem; 
if(selectedItem != null) 
    MessageBox.Show(selectedItem.AS7_Nom.ToString()); 

他のオプションはAS7_Nom、AS7_LibとAS7_Prixのプロパティを持つクラスを定義し、ListViewに、このクラスのintancesを追加することです:

lstAS7.Items.Add(new YourClass { AS7_Nom = valeur["NAME"].ToString(), AS7_Lib = valeur["TEXT_SHORT"].ToString(), AS7_Prix = valeur["PRICE"].ToString() }); 

その後、YourClassSelectedItemプロパティを唱えられると、

関連する問題