如何将数据从xml标签绑定到xamdatagrid中的组合框或wpf中的datagrid

本文关键字:组合 datagrid 中的 wpf xamdatagrid 数据 xml 绑定 标签 | 更新日期: 2023-09-27 18:08:13

xml文件。

<Products>
   <ProductTemplate>
       <ProductID> 1</ProductID>
       <ProductLot>11</ProductLot>
       <Product>product1</product>
       <Product>product1</product>
<ProductTemplate>
<Products>
 .....
  ....

我能够在xamdatagrid中获得"productID"answers"productLot"。现在我要添加"产品"到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()函数视图类

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文件中检索"产品"中的值,然后如何绑定到xamdatagrid内的组合框?

如何将数据从xml标签绑定到xamdatagrid中的组合框或wpf中的datagrid

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();