//Добавить строку подтаблицы public void AddRow(TablRow row) { SubNums.Add(row.Num, row); if (!row.Code.IsEmpty()) { SubCodes.Add(row.Code, row); } Subs.Add(row); }
//Загрузить данные подтаблиц всех уровней public void LoadValues() { TablValues = new TablValues(MaxLevel); for (int i = 0; i <= MaxLevel; i++) { using (var rec = new RecDao(_db, "SELECT * FROM " + TablName(i))) while (rec.Read()) { var row = new TablRow(this, i, rec); if (i < MaxLevel) { TablValues.Rows[i].Add(row.Id, row); } var parent = i == 0 ? (SubRows)TablValues : TablValues.Rows[i - 1][row.ParentId]; parent.AddRow(row); row.Parent = parent; } } }