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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.10.2013, 09:44   #1  
sparco is offline
sparco
Участник
Самостоятельные клиенты AX
 
44 / 21 (1) +++
Регистрация: 10.10.2011
Адрес: Москва
Создать контейнер и при выборе checkBox заносить в этот контейнер.
X++:
public int mouseDown(int _x, int _y, int _button, boolean _Ctrl, boolean _Shift)
{
    int             ret;
    TreeItemIdx     hitTreeItemIdx;
    FormTreeItem    formTreeItem;
    Boolean         stateChecked;
    ;

    ret = super(_x, _y, _button, _Ctrl, _Shift);

    [ hitTreeItemIdx,f ] = this.hitTest(_x,_y);

    formTreeItem = this.getItem( hitTreeItemIdx );

	if (bitTest(f,#FTCHT_ONITEMICON) || bitTest(f, #FTCHT_ONITEMSTATEICON))
	{
		if( !formTreeItem.stateChecked() )
		{
			stateChecked = true;
			//установили галку
		}
		
		else
		{
			//убрали галку		
		}
		
		formTreeItem.stateChecked( stateChecked );
		TreeControl.setItem( formTreeItem );
	}
	
    return ret;
}
в том месте где идет установка галки можно и поставить условие на то что можно устанавливать или нет.
За это сообщение автора поблагодарили: Cardagant (1), user_ax (1), demianimp (1).
Старый 10.10.2013, 10:19   #2  
demianimp is offline
demianimp
Участник
 
202 / 104 (4) +++++
Регистрация: 10.10.2013
Цитата:
Сообщение от sparco Посмотреть сообщение
Создать контейнер и при выборе checkBox заносить в этот контейнер.
X++:
public int mouseDown(int _x, int _y, int _button, boolean _Ctrl, boolean _Shift)
{
    int             ret;
    TreeItemIdx     hitTreeItemIdx;
    FormTreeItem    formTreeItem;
    Boolean         stateChecked;
    ;

    ret = super(_x, _y, _button, _Ctrl, _Shift);

    [ hitTreeItemIdx,f ] = this.hitTest(_x,_y);

    formTreeItem = this.getItem( hitTreeItemIdx );

	if (bitTest(f,#FTCHT_ONITEMICON) || bitTest(f, #FTCHT_ONITEMSTATEICON))
	{
		if( !formTreeItem.stateChecked() )
		{
			stateChecked = true;
			//установили галку
		}
		
		else
		{
			//убрали галку		
		}
		
		formTreeItem.stateChecked( stateChecked );
		TreeControl.setItem( formTreeItem );
	}
	
    return ret;
}
в том месте где идет установка галки можно и поставить условие на то что можно устанавливать или нет.
Простите, а f это что за переменная?
Старый 10.10.2013, 10:27   #3  
sparco is offline
sparco
Участник
Самостоятельные клиенты AX
 
44 / 21 (1) +++
Регистрация: 10.10.2011
Адрес: Москва
извините не заметил, выдирал из формы, Int.
Старый 10.10.2013, 12:36   #4  
demianimp is offline
demianimp
Участник
 
202 / 104 (4) +++++
Регистрация: 10.10.2013
Сделал монстра из ответов sparco и Cardagant. Теперь при зажатии ctr и клика по элементу дерева появляется иконка чекбокса.

Спасибо вам за направление мысли =)

Если где-то не прав, прошу меня поправить =_=

X++:
public int mouseDown(int _x, int _y, int _button, boolean _Ctrl, boolean _Shift)
{
    int             ret,
                    f;
    TreeItemIdx     hitTreeItemIdx;
    FormTreeItem    formTreeItem;
    ImageRes        stateImage;

    ;
    ret = super(_x, _y, _button, _Ctrl, _Shift);
    if(_Ctrl == 8)
    {
        [ hitTreeItemIdx,f ] = this.hitTest(_x,_y);
        if(f == 4 || f == 2 || f == 64)
        {
            formTreeItem = formTreeControl.getItem(hitTreeItemIdx);
            switch (formTreeItem.stateImage())
            {
                case imageListAppl_checkbox.image(#ImageCheckAll):
                    stateImage = 0;
                    //Убрали выделение
                    break;
                default:
                    stateImage = imageListAppl_checkbox.image(#ImageCheckAll);
                    //Добавили выделение
                    break;
            }
            formTreeItem.stateImage(stateImage);
            formTreeControl.setItem(formTreeItem);
        }

    }

    return ret;
}

Последний раз редактировалось demianimp; 10.10.2013 в 12:56.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
16 и более полей в InventDim Ievgenii DAX: Функционал 12 13.10.2011 13:56
Данный из разных компаний в WebForm kashperuk DAX: Программирование 0 14.06.2006 01:11
2 и более OUTER JOIN к одному паренту Ronin DAX: Программирование 21 19.12.2005 13:42
поддержка приложений разных версий в Аксапта 2.5 asaev DAX: Администрирование 16 28.11.2003 16:37
Интеграция элементов бизнес-логики Maxim Gorbunov DAX: База знаний и проекты 0 11.12.2001 20:18

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

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

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