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

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

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

Ну, не важно, в общем.
Вначале вносятся изменения в базу, потом обновляется ui
...
Рейтинг: 0 / 0
27.01.2009, 14:24:00
    #35780050
Стаська
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перестановка пунктов меню
но это должен делать пользователь....
я вообще пока не представила, как это вообще то должно выглядеть
...
Рейтинг: 0 / 0
27.01.2009, 14:36:40
    #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
27.01.2009, 15:18:14
    #35780285
Стаська
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перестановка пунктов меню
Это все ясно.
Вопрос в сортировке. Пользователь может произвольно менять порядок.
А вышеперечисленное и так ясно.
я думаю, как сортировку организовать, какой использовать объект, код?
...
Рейтинг: 0 / 0
27.01.2009, 15:25:14
    #35780311
Перестановка пунктов меню
СтаськаЭто все ясно.
Вопрос в сортировке. Пользователь может произвольно менять порядок.
А вышеперечисленное и так ясно.
я думаю, как сортировку организовать, какой использовать объект, код?
Пока я не вижу проблем :-)
Пользователь должен менять порядок ТОЛЬКО в специализированном разделе меню (типа Preferences...).
Когда он поменял порядок, то этот измененный порядок записывается в таблицу пользовательских настроек, и меню обновляется точно так же, как при загрузке...
Сортировка идет по PadOrder (если смотреть на описание представленной мной таблицы и запрос)...
...
Рейтинг: 0 / 0
27.01.2009, 15:29:33
    #35780327
SQL_Lamer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перестановка пунктов меню
Стаська,
Делфи не знаю. Но это и не важно.
Пусть у каждого пункта меню есть порядковый номер.
Сделайте у пункта меню контекст меню например.
В контекст меню пункт - up/down или там left/right, например.
Выбираем, по событию выбора порядковые номера смежных пунктов изменяются.
Данные обновляются.
Форма обновляется.

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

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

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


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