xml 태그의 데이터를 xamdatagrid의 콤보 상자 또는 wpf의 datagrid에 바인딩하는 방법은 무엇입니까?

meshsf

xml 파일.

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

xamdatagrid에서 "productID"및 "productLot"를 얻을 수 있습니다. 이제 "제품"을 xamdatagrid에 comboBox로 추가해야합니다. 아래는 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>

이제 문제는 "제품"값이 콤보 상자에 채워지지 않는다는 것입니다.

아래는 display () 함수 viewmodel 클래스입니다.

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 형식이 올바르지 않습니다. 아래는 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();

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관