我创建了xml文件,其中包含许多标签内的标签。我定义了很多客户。我试图将xml文件加载到DataSet并在DataGrid中显示它,但是debuger通知我datagrid找不到表。
DataSet xmlData = new DataSet();
xmlData.ReadXml("Filename", XmlReadMode.Auto);
DataGrid dataGrid = new DataGrid();
dataGrid.ItemSource=xmlData.Tables[0].DefaultView;
我的xml文件内容:
<Table>
<client>
<borrow_id></borrow_id>
<client_id></client_id>
<client_name></client_name>
<client_surname></client_surname>
<book_id></book_id>
<book_author></book_author>
<book_name></book_name>
<book_year></book_year>
<book_publishing></book_publishing>
<book_ISBN></book_ISBN>
<borrow_start_data></borrow_start_data>
<borrow_end_data></borrow_end_data>
</client>
</Table>
<DataGrid Visibility="Hidden" Name="dataGrid" HorizontalAlignment="Left" Margin="0,177,0,0" VerticalAlignment="Top" Width="Auto" Height="Auto"/>
请帮帮我:)。
答案 0 :(得分:0)
假设您将DataGrid
属性设置为AutoGenerateColumns
的可见True
:
<DataGrid Name="dataGrid" AutoGenerateColumns="True" .... />
然后您现有的代码应该可以正常工作。只是不要在那里创建新的DataGrid
实例。只需填充上面在XAML中创建的那个:
DataSet xmlData = new DataSet();
xmlData.ReadXml("Filename", XmlReadMode.Auto);
//DataGrid dataGrid = new DataGrid(); <- don't create new one!!
dataGrid.ItemSource = //<- reference datagrid from your XAML
xmlData.Tables[0].DefaultView;