Добавление, удаление, изменение и запрос можно реализовать с помощью TreeView. База данных использует Access, а операция использует OleDbHelper.
Описание базы данных
идентификатор класса
имя класса
классОписание
родительский идентификатор, родительский номер, верхний уровень – 0
sortId, номер сортировки,
При удалении все идентификаторы sortId, превышающие это число, будут уменьшены на единицу.
При увеличении к максимальному числу прибавляйте единицу.
При движении вверх поменяйте sortId с фронтом и сначала определите, является ли он уже фронтом. То есть, равно ли это 0
При движении вниз поменяйте sortId на следующий и сначала определите, последний ли он. То есть, является ли это childNum+1
глубина, глубина, 0 — верхний уровень.
childNum — количество детей, 0 означает отсутствие.
Добавить операции
1. Если это верхний уровень, то родительскийId=0, глубина=0
sortId, по максимальному значению
2. Если есть родительский элемент, используйте родительский элемент и увеличьте childNum на 1.
sortId, по childNum+1, глубина — родительская глубина+1
Удаление операции
1. Определить, есть ли подкласс, т. е. родительский = текущий classId. Если есть, его нельзя удалить.
2. Если нет, определите, является ли это верхний уровень. Если есть родительский элемент, его childNum уменьшается на 1.
Найдите sortId и вычтите 1, если родительский sortId больше этого значения.
Расширять