2017-04-07 33 views
1

我從SQL數據庫中填充ListView。 listview在XAML中定義了3列。從列表視圖列中提取內容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> 

的代碼背後,是下一個

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"] }); 
} 

對於測試我添加一個按鈕來檢索selecteditems的內容和顯示它與一個消息在屏幕上。 這是結果。

{AS7_Nom = 「DVI_AT_HS_unit_07242802」,AS7_Lib = 「設置德 力水庫;高程德MEUBLE:676 - 800毫米;傾SYSTEME AVENTOS HS」,AS7_Prix = 0}

我怎樣才能檢索信息,從1列,爲EXPL列「AS7_Nom」

+0

您是指所有行或單元格內容(一行,一列)上的1列的內容? – grek40

+0

來自1個選定行的一個特定列的內容,就像在我的代碼中的列「AS7_Nom」 – Mike

+0

一樣:http://stackoverflow.com/a/1203538/5265292 – grek40

回答

0

由於要添加匿名類型對象的集合ItemsListView你可以使用關鍵字dynamic,能夠以檢索屬性值:

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

另一個選項是定義與AS7_Nom,AS7_Lib和AS7_Prix屬性的類,並添加這個類的intances到ListView

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

然後,您可以施放SelectedItem屬性YourClass和以編譯時安全的方式訪問屬性:

YourClass selectedItem = lstAS7.SelectedItem as YourClass; 
if(selectedItem != null) 
    MessageBox.Show(selectedItem.AS7_Nom);