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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.02.2003, 14:46   #1  
avm is offline
avm
Участник
 
6 / 10 (1) +
Регистрация: 25.02.2003
? изменять свойства шрифта Grid ....
Подскажите, как можно изменять свойства шрифта Grid в зависимости от значений полей записи?
Старый 25.02.2003, 15:04   #2  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Например так:

PHP код:
public void displayOption(Common _p1FormRowDisplayOption _options)
{
    if (
_p1.(fieldNum(VendTrans,Correct )))
    
_options.textColor(255);

    
super(_p1_options);

Старый 25.02.2003, 15:10   #3  
slava is offline
slava
сибиряк
Самостоятельные клиенты AX
 
468 / 23 (1) +++
Регистрация: 28.12.2001
Адрес: Москва
Вот еще не вываливалась бы Аксапта при перекрытии displayOption ...
__________________
С уважением, Вячеслав.
Старый 25.02.2003, 15:33   #4  
avm is offline
avm
Участник
 
6 / 10 (1) +
Регистрация: 25.02.2003
Спасибо за ответ. Но я имел ввиду следующее:
Изменять вид шрифта (напрмер установить Жирный или Зачеркнутый)
Напрмер закрытый заказ отметить серым цветом (это получилось без продблем) и
установить свойство шрифта данной записи Шрифт зачеркнутый....
(требования заказчика)
Старый 25.02.2003, 16:32   #5  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Похоже разработчики Аксапты этого не предусмотрели.

Хотя если очень хочется, то можно

Можно в гриде создать поле типа Window, и уже на нем самому ручками выводить надпись и самому же ее перечеркивать.

Сделать это совсем не сложно(если будет нужно объясню как), но вот насчет скорости очень не уверен. Хотя будет время попробую
Старый 25.02.2003, 17:28   #6  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Изначально опубликовано Андре
Можно в гриде создать поле типа Window, и уже на нем самому ручками выводить надпись и самому же ее перечеркивать.
Интересная идея! Может все то, что мы хотим сделать (через FormTableControl) можно сделать так?
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 25.02.2003, 17:51   #7  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
Интересная идея!
Но похоже не самая удачная. По крайне мере я не смог ее реализовать.

Создал в гриде window и перекрыл у него paint(). Вот так:

PHP код:
public int paint()
{
    
WinGDI  gdi;
    
int ret;
    
int pen;
    ;

    
ret super();

    
wnd.lockDC();
    
gdi = new WinGDI(wnd.hDC());
    
pen gdi.createPen(100,100,60);
    
gdi.textOut(1,1,"Тест");
    
gdi.moveToEx(1,10);
    
gdi.lineTo(10010);
    
wnd.unlockDC();

    Return 
ret
В результате рисуется, но только на активной записи.

Если кто-нибудь знает как это поравить, пожалуйста, сообщите мне.
Старый 25.02.2003, 18:00   #8  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Да, но у тебя здесь принципипальная ошибка!

Смотри. Ты перекрываешь метод Window, а значит один и тот же метод будет выполняться для всех строк Grid с этим Control независимо от того, что это за строка (немного сумбурно написал, но, надеюсь, понять можно). Вместо этого нужно определять display-метод на FormDataSource. В него будет передаваться строка, для которой нужно отрисовать Window.

Вот только есть проблема: я не знаю, что может быть возвращено в Window в качестве результата display-метода (ну, int, конечно, может, но здесь это никак не помогает). Если ты знаешь, это знаешь, пожалуйста, сообщи. Вопрос, по-моему, из разряда FAQ.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 25.02.2003, 18:30   #9  
Garic is offline
Garic
NavAx
Аватар для Garic
NavAx Club
 
393 / 63 (3) ++++
Регистрация: 23.07.2002
Адрес: Москва
Вот ещё один пример на ту же тему:
http://www.axforum.info/xpo/HB_PVT_RVK_LightGrid.xpo
__________________
С уважением, Игорь Ласийчук.
Старый 25.02.2003, 18:54   #10  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
тот же метод будет выполняться для всех строк Grid
Как я понимаю, это значит, что во всех строках будет отображаться одно и тоже. Для начала пусть так. Так ведь нет, отображается только для одной активной.

Цитата:
Вместо этого нужно определять display-метод на FormDataSource.
Тоже заню, но похоже возвращать можно только int.

Цитата:
Если ты знаешь, это знаешь, пожалуйста, сообщи.
Была одна идея, но это не идея, а скорее извращение. К тому же не вышло. Идея следующая - возвращаеый int это номер рисунка в ImageList у Window. ImageList у window можно подменить своим. То есть, можно где-нибудь на канве (например еще на одном window, созданном динамически) рисовать строку и пихать рисунок в ImageList, который мы после подсунем window в grid'е. Но это так, попроикалываться не больше

Пока писал появилась еще одна мысль. Создать в памяти map, где ключом будет номер 1,2,3 и т.д. а значением соответсвенно отобращаемые строки (string). Тогда пусть метод возвращает int, по map'у мы найдем строку и отобразим ее. Вот только не уверен, что обратное преобразование int->string будет возможность осуществить. Это надо разбираться, а пока времени нет.

Цитата:
Может все то, что мы хотим сделать (через FormTableControl) можно сделать так?
Так window помоему не редактируемая штука. Или я что-то не так понял ?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axaptapedia: Filter-by-Grid Blog bot DAX Blogs 2 30.05.2012 13:39
Dynamics AX: DAX 4.0 Filter by Grid [Update] Blog bot DAX Blogs 0 27.04.2007 17:10
Advanced programming: Grid data and view manipulations batiskaf_new DAX: Программирование 15 21.06.2006 11:44
Сохранение настроек GRID (ширина и порядок колонок) liza DAX: Программирование 1 25.07.2003 22:20

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

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

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