2013-11-28 42 views
0

我已經裝滿了來自鏈接到我的PC設備(CanCase XL)數據即將列表視圖,這樣我填的是列表視圖是:提取信息從ListView控件

_Lvf.Add(new listViewFrames() 
{ 
    dlc = DLC, 
    Byte1 = Byte1, 
    Byte2 = Byte2, 
    Byte3 = Byte3, 
    Byte4 = Byte4, 
    Byte5 = Byte5, 
    Byte6 = Byte6, 
    Byte7 = Byte7, 
    Byte8 = Byte8, 
}); 

這個操作我想提取後所有這些數據以這種方式填補mylistview到「餐桌」我可以開始分析由一個數據之一, 我與

((DataRowView)(myListView.SelectedItem)).Row.ItemArray[0] 

嘗試,但它僅返回第一行。 我想提取所有在一個鏡頭,有沒有辦法?

+4

爲什麼不把它放在一個表,然後再將其綁定到ListView? – Koen

+0

@Koen我已經使用backgroundworker從設備中提取這些數據,我認爲它不是一個好主意,首先將這些數據放在表格中! – user2933082

+1

@ user2933082背景工作者將數據放在數據表中與做什麼有關? – decPL

回答

0

正如我的評論中提到的那樣,將數據添加到數據表首先更容易,然後將其綁定到列表視圖。

快速和骯髒的例子:

C#:

private DataTable dataTable; 

    private void BackgroundWorker_DoWork(object sender, DoWorkEventArgs e) 
    { 
     this.dataTable = new DataTable(); 

     // Add your data here 
     this.dataTable.Columns.Add("Col1"); 
     this.dataTable.Rows.Add("1"); 
     this.dataTable.Rows.Add("2"); 
     this.dataTable.Rows.Add("3"); 
     this.dataTable.Rows.Add("4"); 
     this.dataTable.Rows.Add("5"); 
    } 

    void BackgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) 
    { 
     this.ListView1.DataContext = this.dataTable.DefaultView; 
    } 

XAML:

<ListView Name="ListView1" ItemsSource="{Binding}" > 
     <ListView.View> 
      <GridView> 
       <GridViewColumn DisplayMemberBinding="{Binding Col1}" Header="Col1" /> 
      </GridView> 
     </ListView.View> 
    </ListView> 
+0

只是在我的腦海裏用記事本++,所以可能會有拼寫錯誤;-) – Koen

+0

謝謝你的幫助:) – user2933082

+0

你是welcompe ;-) – Koen