Exemplo n.º 1
0
        private int GenerateRecordSet(RecordSet recordSet)
        {
            IDictionaryEnumerator ide = _ht.GetEnumerator();
            int rowsAdded             = 0;

            while (ide.MoveNext())
            {
                if (ide.Value is ArrayList)
                {
                    rowsAdded++;
                    recordSet.AddRow();
                    if (recordSet.GetColumnDataType(_currentAttribute) == ColumnDataType.Object)
                    {
                        recordSet.SetColumnDataType(_currentAttribute, RecordSet.ToColumnDataType(ide.Key));
                    }
                    recordSet.Add(ide.Key, recordSet.RowCount - 1, _currentAttribute);
                    recordSet.Add(ide.Value, recordSet.RowCount - 1, recordSet.ColumnCount - 1);
                }
                else
                {
                    rowsAdded = (ide.Value as MultiRootTree).GenerateRecordSet(recordSet);
                    for (int i = 0; i < rowsAdded; i++)
                    {
                        recordSet.Add(ide.Key, recordSet.RowCount - i - 1, _currentAttribute);
                        if (recordSet.GetColumnDataType(_currentAttribute) == ColumnDataType.Object)
                        {
                            recordSet.SetColumnDataType(_currentAttribute, RecordSet.ToColumnDataType(ide.Key));
                        }
                    }
                }
            }
            return(rowsAdded);
        }