我使用WPF,我有一个DataGrid绑定到一个对象列表,每个列的每个属性:WPF DataGrid中,获取数据表从视图中
<DataGrid x:Name="Docs" Margin="29,211,25,66" IsReadOnly="False" AutoGenerateColumns="False"
DataContext="{Binding Source={StaticResource Rutine}}" CanUserReorderColumns="False"
ItemsSource="{Binding Documents,Mode=TwoWay}">
<DataGrid.Columns>
<DataGridTextColumn Header="Document Type" Binding="{Binding DocumentType}" />
<DataGridTextColumn Header="Document (Name)" Binding="{Binding DocumentName}" /></DataGrid.Columns></DataGrid>
public IList<CSDoc> Documents
{
get
{
return _Documents;
}
set
{
_Documents = value;
NotifyPropertyChanged("Documents");
}
}
public class CSDoc
{
public string DocumentType{ get; set; }
public string DocumentName{ get; set; }
}
我允许用户更改数据,以便稍后可以将其导出为xls x文件。
但我需要一个DataTable对象做到这一点。
另一个问题是,我需要Headers,因为xlsx文件稍后会上传到另一个使用空格和括号进行验证的系统。
有没有一种方法来创建从DataGrid用户视图DataTable中没有循环每个单元?
而且由于每个头的,没有对象列表被循环以及...
我没有落实INPC对我的日常班,和我的列表正常工作 –
Darknesstiller
我只是认为它可能是某种方式采取类似的DataGrid的ViewState ... – Darknesstiller
这当然是可以如此直接的做从DataGrid,但除非你正在建立一个通用的导出函数,我认为这种逻辑不应该依赖于用户界面。如果你想从UI中完成,那么是的,你需要迭代DataGrid的行和列,因为这是数据被“存储”的地方。 –