我有一个DataGridView
从XML文件中获取所有数据,我正在尝试将特定列的所有单元格值转换为int
,这是我正在使用的代码它
for (int i = 0; i < targetTable.Rows.Count; i++)
{
if (!targetTable[6, i].Value.Equals(null) && !targetTable[6, i].Value.Equals(""))
{
targetTable[6, i].Value = int.Parse(targetTable[6, i].Value.ToString());
}
else
{
targetTable[6, i].Value = i + 1;
}
}
当我调试此for
循环时,索引仅在0到1之间永久交替,这导致StackOverFlowException
。
我无法弄清楚它发生的原因,我们将非常感谢任何帮助。
答案 0 :(得分:0)
ORINGINAL: 我想我会在行上使用Foreach而不是做一个for,它可能有助于弄清楚奇怪行为背后的原因。
foreach (DataGridViewRow row in targetTable.Rows)
{
if (!row.Cells[6].Value.Equals(null) && !row.Cells[6].Value.Equals(""))
{
row.Cells[6].Value = int.Parse(row.Cells[6].Value.ToString());
}
else
{
row.Cells[6].Value = row.Index + 1;
}
}
编辑: 给出新信息:您只想将列排序为int,可能添加自定义SortCompare事件。