CSReportDll.cReport.orderTextAsc C# (CSharp) Метод

orderTextAsc() приватный Метод

private orderTextAsc ( int first, int last, int orderBy ) : bool
first int
last int
orderBy int
Результат bool
        private bool orderTextAsc(int first, int last, int orderBy)
        {
            int i = 0;
            int j = 0;
            int t = 0;
            int q = 0;
            bool bChanged = false;

            t = pEstimateLoops(last - first);
            for (i = first + 1; i <= last; i++)
            {
                bChanged = false;
                for (j = last; j >= i; j--)
                {
                    q = q + 1;
                    String text1 = cReportGlobals.valVariant(m_rows.Rows[m_vRowsIndex[j]][orderBy]).ToString();
                    String text2 = cReportGlobals.valVariant(m_rows.Rows[m_vRowsIndex[j - 1]][orderBy]).ToString();
                    if (String.Compare(text1.ToLower(), 
                                        text2.ToLower(), 
                                        StringComparison.CurrentCulture) < 0)
                    {
                        if (!OnProgress("", 0, q, t)) 
                        { 
                            return false; 
                        }
                        changeRow(j, j - 1);
                        bChanged = true;
                    }
                }
                if (!OnProgress("", 0, q, t)) 
                { 
                    return false; 
                }
                if (!bChanged) 
                { 
                    break; 
                }
            }
            return true;
        }
cReport