0

に変換する方法ListViewDataTable

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するにはどうすればよいですか?DataTableListView

4

3 に答える 3

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);
}
于 2013-03-27T07:22:32.510 に答える
0

これを試して:

var table = listViewUserHUD.DataSource as DataTable
于 2013-03-27T07:14:54.193 に答える
0
 var table = List_bill.DataContext as DataTable;
于 2019-07-31T06:09:27.843 に答える