|
Hrovm
|
|
Изменение положения элементов поля07.04.2008, 18:48. Показов 9713. Ответов 2
Метки нет (Все метки)
Здравствуйте.
Возникла следующая задача. Есть computed поле на форме (имена сотрудников, которые должны согласовать документ). Пользователь заполняет его, выбирая в диалоге несколько документов (PickListCollection). Для согласования важен порядок, в котором эти имена храняться в поле (сначала один согласует, потом другой итд.) Меняться этот порядок, соответственно тоже может. вопрос: можно ли как-нибудь сделать, чтобы пользователь мог нажимая, например, кнопки "вверх", "вниз" менять порядок в котором расположены значения в поле? пока единственное, что пришло в голову - это без всяких кнопок, просто сделать dialogbox, и пусть пользователь выбирает в нужном порядке, по-одному, и жмет ОК. Выбранные значения (имена) из списка в dialogbox убираются.. p.s. про первоначальное заполнение пока можно не думать, будем говорить только для случая, когда значения в поле уже есть и надо изменить их порядок. |
|
| 07.04.2008, 18:48 | |
|
Ответы с готовыми решениями:
2
Изменение положения элементов на экране Динамическое изменение положения элементов Изменение положения элементов в runtime |
|
0 / 0 / 1
Регистрация: 30.06.2007
Сообщений: 2,153
|
|
| 07.04.2008, 18:57 | |
|
Допустим, у нас есть уже аррай (возьми из айтема, работать с item.values - себя не любить)
Вот тебе процедурина для сортиовки. Можешь чё-то менять, если хочешь, но, в целом, она работает как надо. Про параметры, если надо спрашивай. На каждый вызов возвращает аррай со свапнутыми элементами. <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">код</div></div><div class="sp-body"><div class="sp-content"><!--shcode--><pre><code class=ls>Const MOVE_UP = 1 Const MOVE_DOWN= 2 Function ToArray(Value As Variant) As Variant On Error Goto Errh If Isempty(Value) Then Exit Function Dim rv As Variant If Isarray(Value) Then rv = Value Else Redym TmpArray(0) TmpArray(0) = Value rv = TmpArray End If ToArray = rv Exit Function Errh: Call ErrHandler Exit Function End Function Function ArrayMoveElement(Array As Variant, Element As Variant, Direction As Integer, Cycle As Boolean, Swap As Boolean) As Variant in not swap - deplace On Error Goto Errh ArrayMoveElement = Array Const CompareOption = 5 If Isempty(Array) Then Exit Function If Isempty(Element) Then Exit Function If Isarray(Element) Then Exit Function If Isnull(Arraygetindex(Array, Element, CompareOption)) Then Exit Function Dim Arr As Variant Arr = ToArray(Array) Dim Lbnd As Long Dim Ubnd As Long Lbnd = Lbound(Arr) Ubnd = Ubound(Arr) Dim Pos As Long Pos = Clng(Arraygetindex(Array, Element, CompareOption)) Dim NewPos As Long Dim ForStart As Integer Dim ForEnd As Integer Dim ForStep As Integer Select Case Direction Case MOVE_UP: If Pos = Lbnd Then If Cycle Then NewPos = Ubnd Else NewPos = Pos Else NewPos = Pos - 1 End If ForStart = Lbnd ForEnd = Ubnd ForStep = 1 Case MOVE_DOWN: If Pos = Ubnd Then If Cycle Then NewPos = Lbnd Else NewPos = Pos Else NewPos = Pos + 1 End If ForStart = Ubnd ForEnd = Lbnd ForStep = -1 End Select Dim Buffer As Variant Dim i As Integer If Swap Then Buffer = Arr(NewPos) Arr(NewPos) = Arr(Pos) Arr(Pos) = Buffer Else Buffer = Arr(ForStart) only for deplace For i = ForStart To ForEnd Step ForStep If i <> ForEnd Then Arr(i) = Arr(i + ForStep) Else Arr(i) = Buffer Next End If ArrayMoveElement = Arr Exit Function Errh: Call ErrHandler Exit Function End Function[/CODE]
0
|
|
|
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
|
|
| 27.11.2011, 16:26 | |
|
Можно использовать ListBox. Список людей — это его список выбора. Выбранный человек — значение ListBoxa. Рядом кнопки Вверх/Вниз, код тривиальный: найти в массиве индекс элемента, поменять местами два элемента массива, обновить, указан выше.
0
|
|
| 27.11.2011, 16:26 | |
|
Помогаю со студенческими работами здесь
3
Bootstrap 3 - изменение положения элементов при разных разрешениях
Изменение положения компонента Изменение положения картинки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|