powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Перестановка пунктов меню
12 сообщений из 12, страница 1 из 1
Перестановка пунктов меню
    #35779267
Стаська
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем! У меня есть меню, название пунктов которого хранится в базе.
К пунктам в базе хранятся файлы, которые должны открываться по нажатию на пункты.
Пункты и файлы добавляются из программы.
Это все ерунда.
НО у пользователя д.б. возможность их переставлять, в том числе и новый, только добавленый.
Неудобство в том, что по всей проге стандартный интерфейс, и имеется просто список со всеми пунктами и карточка отдельного. А мне надо как-то сделать, чтобы можно было переставлть пункты...
Не решила еще, как удобнее - в базе переставлять или сначала на клиенте?...
Никак не предумаю, какой бы сделать алгоритм для перестановки пунктов?
ведь если переставлешь один, сразу надо переставить и тот, на чье место переставляется и т.д.

Неи подскажите какой-н. хороший алгоритм для такого дела?
...
Рейтинг: 0 / 0
Перестановка пунктов меню
    #35779841
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стаська,

Я так понял - это веб проект?
Административная часть?
В таком случае - что значит сразу на клиенте.
Вносятся изменения в базу.
При следующем обращении данные клиента обновляются.
...
Рейтинг: 0 / 0
Перестановка пунктов меню
    #35779974
Стаська
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет, не вэб.
Это делфи + мсскл 2005
...
Рейтинг: 0 / 0
Перестановка пунктов меню
    #35779987
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СтаськаНет, не вэб.
Это делфи + мсскл 2005

Ну, не важно, в общем.
Вначале вносятся изменения в базу, потом обновляется ui
...
Рейтинг: 0 / 0
Перестановка пунктов меню
    #35780050
Стаська
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
но это должен делать пользователь....
я вообще пока не представила, как это вообще то должно выглядеть
...
Рейтинг: 0 / 0
Перестановка пунктов меню
    #35780104
Стаськано это должен делать пользователь....
я вообще пока не представила, как это вообще то должно выглядеть
Ну, например, так:
Код: plaintext
1.
2.
3.
4.
5.
Create table UserMenu (
  UserID int Foreign key references Users(id),
  PadID  int Foreign key references MenuPad(id),
  PadOrder int not null default  0 
)

При входе в систему выполняем запрос:
Код: plaintext
1.
2.
3.
4.
select MenuPad.Name,UserMenu.PadOrder
from UserMenu inner join MenuPad on UserMenu.PadId = MenuPad.ID 
where UserMenu.UserId = @ID
order by UserMenu.PadOrder
где @ID - идентификатор (ID) пользователя, который определяется в момент входа в систему...
По данным запроса строим соответствующее меню....
...
Рейтинг: 0 / 0
Перестановка пунктов меню
    #35780285
Стаська
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это все ясно.
Вопрос в сортировке. Пользователь может произвольно менять порядок.
А вышеперечисленное и так ясно.
я думаю, как сортировку организовать, какой использовать объект, код?
...
Рейтинг: 0 / 0
Перестановка пунктов меню
    #35780311
СтаськаЭто все ясно.
Вопрос в сортировке. Пользователь может произвольно менять порядок.
А вышеперечисленное и так ясно.
я думаю, как сортировку организовать, какой использовать объект, код?
Пока я не вижу проблем :-)
Пользователь должен менять порядок ТОЛЬКО в специализированном разделе меню (типа Preferences...).
Когда он поменял порядок, то этот измененный порядок записывается в таблицу пользовательских настроек, и меню обновляется точно так же, как при загрузке...
Сортировка идет по PadOrder (если смотреть на описание представленной мной таблицы и запрос)...
...
Рейтинг: 0 / 0
Перестановка пунктов меню
    #35780327
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стаська,
Делфи не знаю. Но это и не важно.
Пусть у каждого пункта меню есть порядковый номер.
Сделайте у пункта меню контекст меню например.
В контекст меню пункт - up/down или там left/right, например.
Выбираем, по событию выбора порядковые номера смежных пунктов изменяются.
Данные обновляются.
Форма обновляется.

Как то так, в первом приближении.
...
Рейтинг: 0 / 0
Перестановка пунктов меню
    #35780346
SQL_LamerСтаська,
Делфи не знаю. Но это и не важно.
Пусть у каждого пункта меню есть порядковый номер.
Сделайте у пункта меню контекст меню например.
В контекст меню пункт - up/down или там left/right, например.
Выбираем, по событию выбора порядковые номера смежных пунктов изменяются.
Данные обновляются.
Форма обновляется.

Как то так, в первом приближении.
Я говорю примерно то же самое, но другими словами...
...
Рейтинг: 0 / 0
Перестановка пунктов меню
    #35780354
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Станислав С...кий,

Не видел ваше сообщение, когда писал.
...
Рейтинг: 0 / 0
Перестановка пунктов меню
    #35781540
Стаська
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Т.е. вы предлагете по одному действию менять местами просто?
Хм...
спасибо.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Перестановка пунктов меню
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]