Jump to content

How to change pieseries of tunimchart color at runtime?


newsanti

Recommended Posts

procedure TMainmForm.UnimLabel2Click(Sender: TObject);
begin
//#FF8C00
//#FFD700
//#00CED1
  UnimPieSeries2.Colors[0]:= '#FFFFFF';
  UnimPieSeries2.Colors[1]:= '#FFD700';
  UnimPieSeries2.Colors[2]:= '#FFFFFF';
  UnimChart1.JSInterface.JSAssign('chart.colors', ['#FFFFFF','#FFD700','#FFFFFF']);
  UnimChart1.JSInterface.JSCall('chart.refresh', []); //not work
end;
 

Link to comment
Share on other sites

3 hours ago, newsanti said:

do not work.

Try this approach:

procedure TMainmForm.UnimLabel1Click(Sender: TObject);
begin
  UnimPieSeries2.Colors[0]:= '#FF8C00';
  UnimPieSeries2.Colors[1]:= '#FFFFFF';
  UnimPieSeries2.Colors[2]:= '#FFFFFF';

  with UnimChart1.JSInterface do
    JSCall('chart.getSeries()['+ UnimChart1.SeriesList.IndexOf(UnimPieSeries2).ToString +'].setColors', [JSArray(['#FF8C00','#FFFFFF','#FFFFFF'])]);
  
  //UnimChart1.JSInterface
    //.JSCall('chart.redraw', []);
end;

 

Link to comment
Share on other sites

10 hours ago, Sherzod said:

Try this approach:

procedure TMainmForm.UnimLabel1Click(Sender: TObject);
begin
  UnimPieSeries2.Colors[0]:= '#FF8C00';
  UnimPieSeries2.Colors[1]:= '#FFFFFF';
  UnimPieSeries2.Colors[2]:= '#FFFFFF';

  with UnimChart1.JSInterface do
    JSCall('chart.getSeries()['+ UnimChart1.SeriesList.IndexOf(UnimPieSeries2).ToString +'].setColors', [JSArray(['#FF8C00','#FFFFFF','#FFFFFF'])]);
  
  //UnimChart1.JSInterface
    //.JSCall('chart.redraw', []);
end;

not work.

image.thumb.png.efa389a0b54d7a1e7ca0d78417d08038.png

 

Link to comment
Share on other sites

Sorry ... It worked. Thank. 

I miss redraw.

procedure TMainmForm.UnimLabel1Click(Sender: TObject);
begin
  UnimPieSeries2.Colors[0]:= '#FF8C00';
  UnimPieSeries2.Colors[1]:= '#FFFFFF';
  UnimPieSeries2.Colors[2]:= '#FFFFFF';

  with UnimChart1.JSInterface do
    JSCall('chart.getSeries()['+
    UnimChart1.SeriesList.IndexOf(UnimPieSeries2).ToString +'].setColors',
     [JSArray(['#FF8C00','#FFFFFF','#FFFFFF'])]);

  UnimChart1.Redraw;
end;
 

Link to comment
Share on other sites

9 hours ago, Sherzod said:

Hmm, are you sure? 

Works for me.

image.png.6f770af6b98d913d8ebf371e0e0421c1.pngimage.png.047b871919132056c88335a27b87725f.pngimage.png.d5718b8be9332f44fc27303f42e92e65.png

function chart.beforeInit(sender, config)
{
   config.series[1].renderer=function(sprite, config, rendererData, index){
       return {strokeStyle: '#FF8C00', 
               label: ""  
              };
   }
}

How to fix Border color for each part of Series2?

I try with run-time code but error.

     JSCall('chart.getSeries()['+
     UnimChart1.SeriesList.IndexOf(UnimPieSeries2).ToString +']._setStrokeStyle',
     '"#FF8C00"');
 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...