将值从网格写入xml c#
我试图将数据网格的单元格值输出到XML。网格的单元格是组合框单元格,具有已分配、可用和已占用的值。我的xml输出需要如下所述:(其中status是每个单元格组合框中的选定值,Xloc是行索引,YLoc是该特定单元格的列索引)将值从网格写入xml c#,c#,xml,list,datagrid,C#,Xml,List,Datagrid,我试图将数据网格的单元格值输出到XML。网格的单元格是组合框单元格,具有已分配、可用和已占用的值。我的xml输出需要如下所述:(其中status是每个单元格组合框中的选定值,Xloc是行索引,YLoc是该特定单元格的列索引) 目前,我正在创建一个列表并保存combox从网格中选择的值,即可用、已占用 private List<string> Grid_Values() { List<string> CellValues = new List<string
目前,我正在创建一个列表并保存combox从网格中选择的值,即可用、已占用
private List<string> Grid_Values()
{
List<string> CellValues = new List<string>();
for (int i = 0; i < ToolMapGrid.Rows.Count; i++)
{
for (int j = 0; j < ToolMapGrid.ColumnCount; j++)
{
CellValues.Add(ToolMapGrid.Rows[i].Cells[j].Value.ToString());
}
}
...
}
私有列表网格_值()
{
List CellValues=新列表();
对于(int i=0;i
我以这种方式将上述值写入XML:
List<string> GridValues = Grid_Values();
foreach (string item in GridValues)
{
writer.WriteStartElement("Cell");
writer.WriteAttributeString("Status",item);
writer.WriteEndElement();
}
List GridValues=Grid_Values();
foreach(GridValues中的字符串项)
{
writer.writeStarteElement(“单元格”);
WriteAttributeString(“状态”,项);
writer.writeedelement();
}
我不明白如何将Xloc和Yloc值写入XML文件。我以列表的形式返回组合值,但是如何使相同的方法也返回行和列索引,以及如何将其写入XML文件
请帮帮我。提前感谢创建一个名为XmlInfo的新类,它有三个属性,如下所示:
class XmlInfo
{
string value{get; set;}
int column {get: set;}
int row {get; set; }
}
private List<XmlInfo> Grid_Values()
{
List<XmlInfo> CellValues = new List<XmlInfo>();
for (int i = 0; i < ToolMapGrid.Rows.Count; i++)
{
for (int j = 0; j < ToolMapGrid.ColumnCount; j++)
{
XmlInfo nfo = new XmlInfo {
value = ToolMapGrid.Rows[i].Cells[j].Value.ToString(),
row = i,
column = j}
CellValues.Add(nfo);
}
}
}
List<XmlInfo> GridValues = Grid_Values();
foreach (XmlInfo item in GridValues)
{
writer.WriteStartElement("Cell");
writer.WriteAttributeString("Status", item.value);
writer.WriteAttributeString("XLoc", item.column);
writer.WriteAttributeString("YLoc", item.row);
writer.WriteEndElement();
}
之后,按如下方式更改代码:
class XmlInfo
{
string value{get; set;}
int column {get: set;}
int row {get; set; }
}
private List<XmlInfo> Grid_Values()
{
List<XmlInfo> CellValues = new List<XmlInfo>();
for (int i = 0; i < ToolMapGrid.Rows.Count; i++)
{
for (int j = 0; j < ToolMapGrid.ColumnCount; j++)
{
XmlInfo nfo = new XmlInfo {
value = ToolMapGrid.Rows[i].Cells[j].Value.ToString(),
row = i,
column = j}
CellValues.Add(nfo);
}
}
}
List<XmlInfo> GridValues = Grid_Values();
foreach (XmlInfo item in GridValues)
{
writer.WriteStartElement("Cell");
writer.WriteAttributeString("Status", item.value);
writer.WriteAttributeString("XLoc", item.column);
writer.WriteAttributeString("YLoc", item.row);
writer.WriteEndElement();
}
私有列表网格_值()
{
List CellValues=新列表();
对于(int i=0;i
然后您可以使用如下代码:
class XmlInfo
{
string value{get; set;}
int column {get: set;}
int row {get; set; }
}
private List<XmlInfo> Grid_Values()
{
List<XmlInfo> CellValues = new List<XmlInfo>();
for (int i = 0; i < ToolMapGrid.Rows.Count; i++)
{
for (int j = 0; j < ToolMapGrid.ColumnCount; j++)
{
XmlInfo nfo = new XmlInfo {
value = ToolMapGrid.Rows[i].Cells[j].Value.ToString(),
row = i,
column = j}
CellValues.Add(nfo);
}
}
}
List<XmlInfo> GridValues = Grid_Values();
foreach (XmlInfo item in GridValues)
{
writer.WriteStartElement("Cell");
writer.WriteAttributeString("Status", item.value);
writer.WriteAttributeString("XLoc", item.column);
writer.WriteAttributeString("YLoc", item.row);
writer.WriteEndElement();
}
List GridValues=Grid_Values();
foreach(GridValues中的XmlInfo项)
{
writer.writeStarteElement(“单元格”);
WriteAttributeString(“状态”,item.value);
WriteAttributeString(“XLoc”,item.column);
WriteAttributeString(“YLoc”,item.row);
writer.writeedelement();
}
您可能想检查一下语法错误,因为我直接在编辑器中键入了它,可能遗漏了一些内容。我就是这样实现和工作的:)
for(int i=0;i
不要将数据网格用作数据结构。从网格数据绑定到的表中写入。这就像我需要输入行数和列数,然后单击生成网格的“生成网格”按钮一样。然后,我需要在网格的所有单元格中进行选择。完成后,我单击Generate XML按钮,该按钮将我的所有内容写入XML,因此datagrid是必需的。将其按如下方式分解,查看实际缺少的内容:XmlInfo=new XmlInfo();nfo.value=ToolMapGrid.Rows[i].Cells[j].value.ToString();nfo.row=i;nfo.column=j代码>