如何将来自 xml 标记的数据绑定到 xamdatagrid 中的组合框或 wpf 中的 datagrid?
How to bind data from xml tag to combo box in xamdatagrid or datagrid in wpf?
xml 文件.
<Products>
<ProductTemplate>
<ProductID> 1</ProductID>
<ProductLot>11</ProductLot>
<Product>product1</product>
<Product>product1</product>
<ProductTemplate>
<Products>
.....
....
我能够在 xamdatagrid 中获得 "productID" 和 "productLot"。现在我必须将 "Product" 作为组合框添加到 xamdatagrid 中。下面是 xaml 文件中的代码。
<igDP:UnboundField Name="Product" Label="Product Name">
<igDP:UnboundField.Settings>
<igDP:FieldSettings EditorType="{x:Type igEditors:XamComboEditor}" AllowEdit="True">
<igDP:FieldSettings.EditorStyle>
<Style TargetType="{x:Type igEditors:XamComboEditor}">
<EventSetter Event="Loaded" Handler="Combo_Loaded"/>
<Setter Property="ItemsSource" Value="{Binding Items}" />
</Style>
</igDP:FieldSettings.EditorStyle>
</igDP:FieldSettings>
</igDP:UnboundField.Settings>
</igDP:UnboundField>
</igDP:FieldLayout.Fields>
</igDP:FieldLayout>
</igDP:XamDataGrid.FieldLayouts>
</igDP:XamDataGrid>
</Grid>
现在的挑战是 "Product" 值未填充到组合框中。
下面是 display() 函数 viewmodel class
public void display(XamDataGrid dataGridView1)
{
XmlReader xmlFile;
xmlFile = XmlReader.Create("C:/Wafers/WaferGen.xml", new XmlReaderSettings());
DataSet ds = new DataSet();
ds.ReadXml(xmlFile);
dataGridView1.DataContext = ds.Tables[0];
}
我想知道如何从 xml 文件中检索 "product" 中的值,然后如何绑定到 xamdatagrid 中的组合框?
XML 格式不正确。下面将帮助您从 XML 中获取产品列表,然后您可以将其绑定到您想要的控件,在您的情况下 combobox
string productXML = @"<Products>
<ProductTemplate>
<ProductID> 1</ProductID>
<ProductLot>11</ProductLot>
<Product>product1</Product>
<Product>product1</Product>
</ProductTemplate>
</Products>";
XDocument xdoc = XDocument.Parse(productXML);
//This will give you the list of Products which you can bind with your control
var listOfProducts = xdoc.Descendants("Products").Elements("ProductTemplate").Descendants().Where(x => x.Name == "Product").Select(x => x.Value).ToList();
xml 文件.
<Products>
<ProductTemplate>
<ProductID> 1</ProductID>
<ProductLot>11</ProductLot>
<Product>product1</product>
<Product>product1</product>
<ProductTemplate>
<Products>
.....
....
我能够在 xamdatagrid 中获得 "productID" 和 "productLot"。现在我必须将 "Product" 作为组合框添加到 xamdatagrid 中。下面是 xaml 文件中的代码。
<igDP:UnboundField Name="Product" Label="Product Name">
<igDP:UnboundField.Settings>
<igDP:FieldSettings EditorType="{x:Type igEditors:XamComboEditor}" AllowEdit="True">
<igDP:FieldSettings.EditorStyle>
<Style TargetType="{x:Type igEditors:XamComboEditor}">
<EventSetter Event="Loaded" Handler="Combo_Loaded"/>
<Setter Property="ItemsSource" Value="{Binding Items}" />
</Style>
</igDP:FieldSettings.EditorStyle>
</igDP:FieldSettings>
</igDP:UnboundField.Settings>
</igDP:UnboundField>
</igDP:FieldLayout.Fields>
</igDP:FieldLayout>
</igDP:XamDataGrid.FieldLayouts>
</igDP:XamDataGrid>
</Grid>
现在的挑战是 "Product" 值未填充到组合框中。
下面是 display() 函数 viewmodel class
public void display(XamDataGrid dataGridView1)
{
XmlReader xmlFile;
xmlFile = XmlReader.Create("C:/Wafers/WaferGen.xml", new XmlReaderSettings());
DataSet ds = new DataSet();
ds.ReadXml(xmlFile);
dataGridView1.DataContext = ds.Tables[0];
}
我想知道如何从 xml 文件中检索 "product" 中的值,然后如何绑定到 xamdatagrid 中的组合框?
XML 格式不正确。下面将帮助您从 XML 中获取产品列表,然后您可以将其绑定到您想要的控件,在您的情况下 combobox
string productXML = @"<Products>
<ProductTemplate>
<ProductID> 1</ProductID>
<ProductLot>11</ProductLot>
<Product>product1</Product>
<Product>product1</Product>
</ProductTemplate>
</Products>";
XDocument xdoc = XDocument.Parse(productXML);
//This will give you the list of Products which you can bind with your control
var listOfProducts = xdoc.Descendants("Products").Elements("ProductTemplate").Descendants().Where(x => x.Name == "Product").Select(x => x.Value).ToList();