Я сделал вид сетки в виде иерархии, ссылающейся на себя.Поэтому я попытался последовательно извлечь данные в каждой строке 0-го столбца и поместить их в стек, но я всегда получаю данные средней строки, данные первой строки и, наконец, данные последней строки.,Возникла проблема.
START
LOOP_1
A
B
LOOP_2
C
END
GridViewRowInfo rows = radGridView_scenarioData.Rows[idx];
try
{
//foreach (GridViewRowInfo row in radGridView_scenarioData.Rows)
//{
if (!flag)
{
if (naming == "START")
{
saveStack.Push(rows.Parent.Parent.ChildRows[0].Cells[0].Value);
}
if (rows.Cells[0].Value.ToString() == "LOOP")
{
saveStack.Push(rows.Cells[0].Value);
GridViewHierarchyRowInfo hierarchyRow = rows as GridViewHierarchyRowInfo;
if (hierarchyRow != null)
{
ChildRows(hierarchyRow);
}
}
if (rows.Parent.ChildRows[0].Cells[0].Value.ToString() == "LOOP")
{
saveStack.Push(rows.Parent.ChildRows[0].Cells[0].Value);
}
if (rows.Parent.Parent.ChildRows[1].Cells[0].Value.ToString() == "END")
{
saveStack.Push(rows.Parent.Parent.ChildRows[1].Cells[0].Value);
}
}
// }
while (saveStack.Count > 0)
{
Console.WriteLine(saveStack.Pop());
}
GridViewRowInfo rows = radGridView_scenarioData.Rows[idx++];
GridViewInfo currentView = rowInfo.ActiveView;
for (int i = 0; i < Convert.ToInt32(rows.Cells[4].Value.ToString()); i++)
{
// rows.IsSelected = true;
//foreach (GridViewInfo view in rowInfo.Views)
//{
// rowInfo.ActiveView = view;
foreach (GridViewRowInfo row in rowInfo.ChildRows)
{
//rows.IsSelected = true;
saveStack.Push(row.Cells[0].Value);
}
Я хочу получить данные последовательно из представления сетки с вышеуказанной иерархической структурой, но это не работает должным образом.Порядок извлечения текущих данных: C - LOOP_2 - B - A - LOOP_1 - START - END.Я хочу получить это в следующем порядке: START - LOOP_1 - A - B - LOOP_2 - C - END.