Jump to content


Photo

Изменение настроек оси TUniChart в Runtime


  • Please log in to reply
5 replies to this topic

#1 andreyka

andreyka

    Newbie

  • uniGUI Subscriber
  • Pip
  • 8 posts
  • LocationNizhny Tagil

Posted 26 April 2018 - 03:04 PM

Здравствуйте.

Возникла проблема с установкой подписи, минимального и максимального значений оси

В релизе

uc_trendmain.Axes.AxisA.Title := new_name;
uc_trendmain.Axes.AxisA.Min :=min_value;
uc_trendmain.Axes.AxisA.Max :=max_value;

не срабатывало, поэтому пришлось делать так:

IUniJSInterface(uc_trendmain).JSCall('chart.axes.items[0].setTitle', [new_name]);
IUniJSInterface(uc_trendmain).JSAssign('chart.axes.items[0].minimum', [mi_value]);
IUniJSInterface(uc_trendmain).JSAssign('chart.axes.items[0].maximum', [max_value]);

При попытке компиляции проекта на beta 1.10.0.1452 первый вариант так и не работает, а второй начал выдавать ошибку: Cannot read property '0' of undefined

Ну и вопрос: как можно в текущей beta устанавливать такие настройки?

 

И еще оди вопрос в дополнение: можно ли отобразить на графике сетку?


  • 0

#2 Delphi Developer

Delphi Developer

    Advanced Member

  • Moderators
  • 5168 posts

Posted 26 April 2018 - 03:58 PM

Добрый вечер,

 

Можете ли Вы сделать небольшой тестовый пример ?!


  • 0

#3 andreyka

andreyka

    Newbie

  • uniGUI Subscriber
  • Pip
  • 8 posts
  • LocationNizhny Tagil

Posted 26 April 2018 - 04:41 PM

Добрый вечер,

 

Можете ли Вы сделать небольшой тестовый пример ?!

 

Проект собран на beta 1.10.0.1452, поэтому часть с IUniJSInterface написана по памяти

Attached Files


  • 0

#4 Delphi Developer

Delphi Developer

    Advanced Member

  • Moderators
  • 5168 posts

Posted 27 April 2018 - 05:16 AM

Здравствуйте,

 

а второй начал выдавать ошибку: Cannot read property '0' of undefined

uchart.JSInterface.JSCall('chart.axes[0].setTitle', ['New left axis caption']);
uchart.JSInterface.JSCall('chart.axes[1].setTitle', ['New bottom axis caption']);

И потом вызвать redraw:

uchart.JSInterface.JSCall('chart.redraw', []);

  • 1

#5 Delphi Developer

Delphi Developer

    Advanced Member

  • Moderators
  • 5168 posts

Posted 27 April 2018 - 10:06 AM

И еще оди вопрос в дополнение: можно ли отобразить на графике сетку?

 

Один из возможных вариантов решения,

 

FormReady:

procedure TMainForm.UniFormReady(Sender: TObject);
begin
  with uchart.JSInterface do
  begin
    JSCall('chart.axes[0].setGrid', [True]);
    JSCall('chart.axes[1].setGrid', [True]);
  end;
end;

  • 1

#6 andreyka

andreyka

    Newbie

  • uniGUI Subscriber
  • Pip
  • 8 posts
  • LocationNizhny Tagil

Posted 27 April 2018 - 02:05 PM

Спасибо. Всё получилось


  • 0




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users