AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.12.2005, 14:47   #1  
Fortress is offline
Fortress
Участник
 
5 / 12 (1) ++
Регистрация: 04.08.2005
Программно добаться до строк грида
Всем привет!

Ситуация:
Есть грид, в котором одно из полей - просто флажок, не привязанный к источнику
даных. Он сделан для того, чтобы пользователь мог выбрать некоторые записи.

Задача
Сделать так, чтобы пользователь мог посмотреть то, что у него выделено, либо снять
выделение (записей много, не видно все, что выделено, пользователь тратит время на просмотр грида, чтобы убрать галочки с ненужных записей).

а) Реализовать сортировку в гриде по этому флажку (сейчас при нажатии на
заголовок этого поля в гриде ничего не происходит).

б)Реализовать функцию типа выделить все -- очистить все. Т.е. програмно
снимать\устанавливать все флажки в гиде.

что думаете, господа аксаптоведы? :_)
Старый 12.12.2005, 15:06   #2  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
Привяжите галочку к источнику данных, думаю это будет самое простое, красивое и стандартное решение.
Старый 12.12.2005, 15:11   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Fortress
Ситуация:
Есть грид, в котором одно из полей - просто флажок, не привязанный к источнику
даных. Он сделан для того, чтобы пользователь мог выбрать некоторые записи.
В корне неправильный подход.
Аксапта позволяет выделять несколько записей одновременно, при помощи CTRL+мышь, SHIFT+мышь

Записи, выделенные таким образом являются промаркированными.
Ищите здесь, в руководстве разработчика и в Best Practice темы по ключевому слову Mark.

Кроме того, Аксапта имеет переключатель для кнопок - будут ли они доступными при выделении нескольких записей одновременно.
__________________
полезное на axForum, github, vk, coub.
Старый 12.12.2005, 15:22   #4  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
2Fortress:

Ну, флажок-то у вас по-любому привязан к источнику данных, просто он является edit-методом, а не полем таблицы. Иначе как вы понимаете, какие именно записи выделены?
1. Сортировка. Не представляю, как это можно реализовать, если не хранить выбранные записи в другой таблице, что бессмысленно.
2. Выделить\очистить все. Проще всего организовать перебор строк DS и вызывать для каждой из них этот самый edit-метод, имитируя постановку/снятие галочки для строки.
__________________
Андрей.
Старый 12.12.2005, 15:23   #5  
kvan is offline
kvan
Moderator
Аватар для kvan
Дети Юза
 
775 / 49 (3) +
Регистрация: 07.08.2002
Адрес: Donetsk
Эх ...
Я согласен что маркировка с помощью CTRL и SHIFT очень удобна, но довольно часто возникают случаи когда "галочка" оказывается намного удобнее.
Да и поиск по выделенным через CTRL или SHIFT строкам не особо то работать будет
Так что я соглашусь с DreamCreator.
__________________
С уважением, kvan.
Старый 12.12.2005, 15:25   #6  
Valia is offline
Valia
Участник
 
139 / 23 (1) +++
Регистрация: 09.07.2003
Адрес: там
Хватит болтать, посмотрите как сделаны галки на сопоставлении и хватит схоластикой заниматься
Старый 12.12.2005, 15:30   #7  
kvan is offline
kvan
Moderator
Аватар для kvan
Дети Юза
 
775 / 49 (3) +
Регистрация: 07.08.2002
Адрес: Donetsk
2Valia:
И вы действительно считаете что это удачный пример!?
Я бы порекомендовал посмотреть туда, но вот делать так как там не стоит.

Последний раз редактировалось kvan; 12.12.2005 в 15:33.
Старый 12.12.2005, 15:45   #8  
Valia is offline
Valia
Участник
 
139 / 23 (1) +++
Регистрация: 09.07.2003
Адрес: там
я умолкаю, простите вырвалось.

Действительно, задача такая архиважная, что надо думать неделями на что прикрутить галки и как с ними возиться, можно еще цветами выделять начать
Старый 12.12.2005, 16:00   #9  
mit is offline
mit
Участник
Аватар для mit
 
386 / 36 (2) +++
Регистрация: 15.01.2003
Адрес: Moscow
можно посмотреть как сделана форма добавления строк в заказ или закупку. не знаю, насколько пример удачен, но работает замечательно.
Старый 12.12.2005, 16:03   #10  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Valia, вы посмотрите в исходный вопрос:
Цитата:
Сообщение от Fortress
Он сделан для того, чтобы пользователь мог выбрать некоторые записи.
Valia, вы предлагаете очень прямое решение в лоб.
Спрошено про одного пользователя и решение вы предлагаете для одного пользователя...
А как нескольким пользователям одновременно работать?

В сопоставлении на оплату галочки проставляются и видны всем пользователям.
Обратите внимание, как приходится выкручитваться, чтобы другие пользователи не дай бог не изменили сопоставление.
Обратите внимание, что ***TransOpen удаляются и создаются.

Именно такой механизм придется воссоздавать (по крайней мере, придется создавать дополнительную таблицу), если следовать совету Valia.
Если задача стоит того, чтобы ТАК геммороится, то может быть и да.

кстати, kvan, смотри о чем спрашивает Fortress.
О спрашивает о некоторых. Если выделяемых записей немного (до нескольких десятков), то проще таки воспользоваться маркировкой.
__________________
полезное на axForum, github, vk, coub.
Старый 12.12.2005, 16:09   #11  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от mit
можно посмотреть как сделана форма добавления строк в заказ или закупку. не знаю, насколько пример удачен, но работает замечательно.
согласен.
Если марктировка не подходит, то таки да.
__________________
полезное на axForum, github, vk, coub.
Старый 12.12.2005, 16:24   #12  
kvan is offline
kvan
Moderator
Аватар для kvan
Дети Юза
 
775 / 49 (3) +
Регистрация: 07.08.2002
Адрес: Donetsk
Цитата:
Сообщение от mazzy
кстати, kvan, смотри о чем спрашивает Fortress.
О спрашивает о некоторых. Если выделяемых записей немного (до нескольких десятков), то проще таки воспользоваться маркировкой.
Я с тобой полностью согласен - там где это возможно нужно использовать стандартный подход.
Но в его случае еще и сортировка нужна, а это стандартной маркировкой не решить.

2Fortress:
Может условия задачи можно немного изменить и тем самым отказаться от изобретения колеса?
__________________
С уважением, kvan.
Старый 12.12.2005, 16:30   #13  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от kvan
Но в его случае еще и сортировка нужна, а это стандартной маркировкой не решить.
Упс... Виноват.
Да, здесь ты прав.
__________________
полезное на axForum, github, vk, coub.
Старый 13.12.2005, 10:11   #14  
Maximin is offline
Maximin
NavAx
NavAx Club
 
412 / 346 (12) ++++++
Регистрация: 09.10.2002
Адрес: Москва
Есть мысль запихать флажки во временную таблицу и связать её с основной.
Или запихнуть в map и сделать, как в Маркировке (по складу), хотя, там вообще комбинированный подход (IMHO, наиболее красиво, хотя наиболее извращенно).
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты...
Старый 13.12.2005, 11:16   #15  
kvan is offline
kvan
Moderator
Аватар для kvan
Дети Юза
 
775 / 49 (3) +
Регистрация: 07.08.2002
Адрес: Donetsk
Цитата:
Сообщение от Maximin
Есть мысль запихать флажки во временную таблицу и связать её с основной.
Есть одна не очень приятная фича - джойн временной таблицы с "нормальной" не всегда получается
Да и не стоит забывать что временные таблицы жрут RecId.
__________________
С уважением, kvan.
Старый 13.12.2005, 11:55   #16  
Garic is offline
Garic
NavAx
Аватар для Garic
NavAx Club
 
393 / 63 (3) ++++
Регистрация: 23.07.2002
Адрес: Москва
Я бы предложил хранить в постоянной таблице и потом джойнить при необходимости.
Залез в Аксапту 2.5, посмотрел как мы этим пользовались три года назад
Задача более общая - пользователю нужно отмечать произвольные наборы, с возможностью передачи и другим пользователям (чтобы не было - "на, посмотри я тебе на бумажку выписала")
Миниатюры
Нажмите на изображение для увеличения
Название: selector.jpg
Просмотров: 447
Размер:	90.8 Кб
ID:	1651  
__________________
С уважением, Игорь Ласийчук.

Последний раз редактировалось Garic; 13.12.2005 в 11:59.
Старый 14.12.2005, 19:11   #17  
Maximin is offline
Maximin
NavAx
NavAx Club
 
412 / 346 (12) ++++++
Регистрация: 09.10.2002
Адрес: Москва
Цитата:
Сообщение от kvan
Есть одна не очень приятная фича - джойн временной таблицы с "нормальной" не всегда получается
Да и не стоит забывать что временные таблицы жрут RecId.
А кто говорил про явный join?
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты...
Старый 14.12.2005, 19:18   #18  
kvan is offline
kvan
Moderator
Аватар для kvan
Дети Юза
 
775 / 49 (3) +
Регистрация: 07.08.2002
Адрес: Donetsk
Цитата:
Сообщение от Maximin
Есть мысль запихать флажки во временную таблицу и связать её с основной.
ok. Тогда уточни как связать таблицы (основную и временную).
__________________
С уважением, kvan.
Старый 14.12.2005, 19:19   #19  
Maximin is offline
Maximin
NavAx
NavAx Club
 
412 / 346 (12) ++++++
Регистрация: 09.10.2002
Адрес: Москва
Запарил ты, дружище, цепляться. Или я на форум должен работать?
Сказал же - посмотри, как работают галочки в маркировании и подумай, как сделать.
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты...

Последний раз редактировалось Maximin; 14.12.2005 в 19:29.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как программно узнать количество промаркированных строк в гриде? Jackally DAX: Программирование 12 24.12.2007 17:16
Высота строк грида Pustik DAX: Программирование 1 14.07.2006 09:26
Выделение строк грида жирным шрифтом JohNick DAX: Программирование 1 26.04.2004 09:54
Как программно из строк заказа учесть накладную? SNG DAX: Программирование 6 27.02.2004 17:19
Сколько раз вызывается DataMethod поля грида при инициализации этого грида? storer DAX: Программирование 2 18.11.2003 14:03

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 18:20.