2013-03-27 26 views
0

如何轉換ListViewDataTable如何將ListView轉換爲WPF中的Datatable?

XAML

<ListView x:Name="listViewUserHUD" ItemsSource="{Binding CollectionUserData}" ScrollViewer.HorizontalScrollBarVisibility="Disabled" IsSynchronizedWithCurrentItem="True" util:GridViewSort.AutoSort="True" Margin="16,59,15,61"> 
    <ListView.View> 
     <GridView> 
      <GridViewColumn DisplayMemberBinding="{Binding FileNumber}" Header="FileNumber" Width="125" util:GridViewSort.PropertyName="FileNumber" /> 
      <GridViewColumn DisplayMemberBinding="{Binding ShiftDate}" Header="ShiftDate" Width="125" util:GridViewSort.PropertyName="ShiftDate"/> 
      <GridViewColumn DisplayMemberBinding="{Binding TimeCreated}" Header="TimeCreated" Width="125" util:GridViewSort.PropertyName="TimeCreated" /> 
      <GridViewColumn DisplayMemberBinding="{Binding Remarks}" Header="Remarks" Width="350" util:GridViewSort.PropertyName="Remarks" /> 
     </GridView> 
    </ListView.View> 
</ListView> 

代碼工作:

var listView1 = new ListView(); 

DataTable table = new DataTable(); 

foreach (ListViewItem item in listView1.Items) 
{ 
    table.Columns.Add(item.ToString()); 
    foreach (var it in item.SubItems) 
    table.Rows.Add(it.ToString()); 
} 

這是我現在的代碼,但我正在努力做的是。每當我生成ListView上的項目時,如何將ListView轉換爲DataTable

+0

什麼是'CollectionUserData'? – 2013-03-27 07:15:51

+0

來自我的sqlite數據庫的集合。 – Jesson 2013-03-27 07:20:37

回答

1

這是更好地創建表右側形成你的數據源對象:

// Create the `DataTable` structure according to your data source 
DataTable table = new DataTable(); 
table.Columns.Add("FileNumber", typeof(int)); 
table.Columns.Add("ShiftDate", typeof(DateTime)); 
table.Columns.Add("TimeCreated", typeof(DateTime)); 
table.Columns.Add("Remarks", typeof(string)); 

// Iterate through data source object and fill the table 
foreach (var item in CollectionUserData) 
{ 
    table.Rows.Add(item.FileNumber, item.ShiftDate, item.TimeCreated, item.Remarks); 
} 
+0

適合我!感謝人:D – Jesson 2013-03-27 23:11:01

-1

試試這個:

var table = listViewUserHUD.DataSource as DataTable 
+1

由於'ListView'沒有任何'DataSource' DP,這是行不通的。 – 2013-03-27 08:38:00