Visual Studio를 통해 만든 dataGridView가 있습니다.dataGridView XML을로드하면 표에 새 열이 추가됩니다.
if (openfile.ShowDialog() == DialogResult.OK)
{
//Create xml reader
XmlReader xmlFile = XmlReader.Create(openfile.FileName, new XmlReaderSettings());
DataSet dataSet = new DataSet();
//Read xml to dataset
dataSet.ReadXml(xmlFile);
dataGridView1.DataSource = dataSet.Tables["whereClause"];
//Close xml reader
xmlFile.Close();
}
:
if (savefile.ShowDialog() == DialogResult.OK)
{
DataSet ds = new DataSet();
DataTable dt = new DataTable("whereClause");
ds.Tables.Add(dt);
for (int i = 1; i < dataGridView1.Columns.Count + 1; i++)
{
DataColumn column = new DataColumn(dataGridView1.Columns[i - 1].Name);
dt.Columns.Add(column);
}
int ColumnCount = dataGridView1.Columns.Count;
foreach (DataGridViewRow dr in dataGridView1.Rows)
{
DataRow dataRow = dt.NewRow();
for (int i = 0; i < ColumnCount; i++)
{
dataRow[i] = dr.Cells[i].Value;
}
dt.Rows.Add(dataRow);
}
XmlTextWriter newXml = new XmlTextWriter(savefile.FileName, Encoding.UTF8);
ds.WriteXml(newXml);
newXml.Close();
}
내가 다음 일치하는 부하 방법이 있습니다
나는 다음 다음 XML에 저장 사본 데이터 집합에 테이블 및 방법을 저장해야
내 문제는이 데이터를 다시로드 할 때 테이블 측면에 새 열을 만들고 기존 테이블 구조에 데이터를로드하지 않는다는 것입니다. DataSet.Merge를 살펴 보았지만 필요에 따라이 기능을 사용하기 위해 애썼다. XML을 다시로드하고이를 테이블 구조의 기존 열에 매핑하려면 어떻게해야합니까? 필요한 경우 테이블이로드되면 전체 테이블을 지울 수 있습니다.
홀드 데이터 소스를 null로 설정하고 DataBind()를 호출 한 다음 DataSource를 dataSet.Tables [ "whereClause"]로 설정 하시겠습니까? –