2012-01-03 5 views
2

WPF DataGrid를 사용하고 있습니다. 표에 바인딩하는 데이터에 고정 열 수가 없으므로 AutoGeneratedColumns를 True로 설정했습니다. 이제까지는 불리언 타입의 열을 발생하는 자동 생성 된 열이 사용됨에 따라bool 유형의 자동 생성 된 Datagrid 열

<DG:TestDataGrid x:Name="grTestData" ItemsSource="{Binding}" LoadingRow="grTestData_LoadingRow" UnloadingRow="grTestData_UnloadingRow" AutoGeneratingColumn="grTestData_AutoGeneratingColumn" AutoGenerateColumns="True" Visibility="Visible" SelectionUnit="CellOrRowHeader"></DG:TestDataGrid> 

, 그것은 DataGridCheckbox 열을 이용한다. 사용자가이 화면을 닫으면 데이터 격자에 지정된 데이터를 XML 파일에 저장합니다.

ds.Tables[0].WriteXml(path); 
//here path is the place where I am storing the xml 

사용자가 sceen을 열 때 다시 xml에서 데이터를로드하고 다시 그리드에 지정합니다.

ds.ReadXmlSchema(path); 
ds.ReadXml(path); 
grTestData.ItemsSource=ds.Table[0].DefaultView 

이제 부울 열에 체크 박스가 표시되지 않습니다. 이전에 체크 된 체크 박스의 경우 "True"로 표시되고 체크되지 않은 체크 박스의 경우에는 false로 표시됩니다. 어떻게 나를 막을 수 있습니까? 코드에 대한 다른 정보가 필요하면 ... plz를 언급하십시오. 나는 그것을 여기에 붙여 넣을 것이다.

감사합니다, Priyank

당신이 XML을 읽을 때 속성의 "의도"유형이 무엇인지, 당신이 강력하게 형식화 된 데이터 구조를 구문 분석하는 데 필요한 DataGrid가 알 수있는 방법은 없습니다
+0

처음으로 데이터 소스는 무엇입니까? 어떻게 DataGrid에 처음으로 올바른 체크 박스가 표시됩니까? –

+0

안녕하세요 처음으로 데이터베이스에서 데이터를 가져 왔습니다. 체크 박스가 표시됩니다. 하지만 HB에서 말했듯이, 나중에 xml에 저장하면 타입이 지정되지 않은 데이터 세트가됩니다. 도움을 주셔서 감사합니다 :) –

답변

2

System.Data.XmlWriteMode.WriteSchema를 WriteXML에 전달하여 쓰기 모드를 지정하십시오.

typedDataset.WriteXml("c:\\data.xml", System.Data.XmlWriteMode.WriteSchema); 
+0

@ Dimitry : System.Data.XmlWriteMode를 사용하여 xml을 저장하려고했지만 완벽하게 작동했습니다. 이제는 scheema도 xml과 함께 저장합니다. :) :) 내 문제가 해결되었습니다. Dimitry에게 감사드립니다. –

0

, 지금은 모든 것이 string으로 간주됩니다.

+0

사실 거기에 그리드가 올바른 유형으로 결론을 내릴 수있는 데이터 세트에 첨부 된 데이터 스키마 덕분에 알 수있는 방법이 있습니다. –

+0

@ 드미트리 : 당연히, 그러나 이것은 분명히 여기에서 일어나지 않습니다. –

+0

고맙습니다. HB :) 입력 한 데이터 세트를 사용하면 더 좋을 것 같아요. –