Есть ли способ получить строки последовательно, так как представление сетки имеет свою собственную иерархию ссылок? - PullRequest
0 голосов
/ 03 июня 2019

Я сделал вид сетки в виде иерархии, ссылающейся на себя.Поэтому я попытался последовательно извлечь данные в каждой строке 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.

...