cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - You can change your system assigned username to something more personal in your community settings. X

Flickering symbol appears in Thingworx mashup

AS_9994683
7-Bedrock

Flickering symbol appears in Thingworx mashup

Can anyone help me with this flickering symbol appearing on my grid widget. This symbol appeared after I binded the serviceinvokeCompleted event to GetProperties.

Thanks 

1 ACCEPTED SOLUTION

Accepted Solutions
TonyZhang
13-Aquamarine
(To:AS_9994683)

Hi @AS_9994683 ,

 

5 seconds refresh interval sounds to me quite short, please make sure that's really necessary to your business otherwise that might introduce performance issue if the datasets are large. 

I see. The button you mentioned was 'update' button after editing the Grid content, not the 'refresh' button that bound to GetProperties.

Then you should bind the 'clicked' event of the update button to the separate 'update' service you created to modify the data source, then bind the ServiceInvokeCompleted event of the 'update' service to GetProperties to refresh the display instead of binding the GetProperties' ServiceInvokeCompleted event to itself.

 

View solution in original post

5 REPLIES 5
PaiChung
22-Sapphire I
(To:AS_9994683)

Do you have some inadvertent loop going on or a very high refresh rate, or a very slow running service plus a refresh faster than the service?

Hi PaiChung, 

Thanks for the reply. In this mashup I have some buttons widget and a grid widget. The mashup has a autorefresh widget with refresh interval of 30 seconds. I wanted a feature in whhich the user clicks on a button and the values in table/grid gets updated. To achieve this, I performed following steps

1. Create a thing with an infotable property and a service which changes values of this infotable.

2. Bind the clicked event of button widget to this service.

3. Bind infotable data (through Getproperties) to grid widget.

4. Drag and drop ServiceInvokeCompleted to Getproperties

Can you tell me which part brings this flickering icon and how to remove it. I have attahced images of the bindings. The infotable name is RUL_infotable in this image.

 

TonyZhang
13-Aquamarine
(To:AS_9994683)

Hi @AS_9994683,

 

Looking at the Binding of GetProperties.png, as PaiChung guessed, there is an inadvertent loop - After GetProperties service completes execution upon mashup loaded, ServiceInvokeCompleted event fires and executes GetProperties once again - this loop continues on and never ends with this way of binding.

The flicking effect you observed is the data loading icon keep appearing as GetProperties service keep getting executed.

 

If you've added an autorefresh widget, that widget comes with a RefreshNow button, bind the Refresh event of the autorefresh widget to GetProperties, that should achieve want you want to achieve - there's no need to create a separate button.

Thanks @TonyZhang .

I made it the way you have advised. The refresh interval of autorfresh widget is 5 seconds. The values in the table gets updated as I wanted but that flickering symbol appears every 5 seconds.

Another thing that I want to clarify here is that my objective is to change the values in grid table widget with the click of button widget. So I created a 'service' in a Thing which updates the 'infotable'. Then I binded clicked event of button widget to that service through 'Data tab' so that the service gets executed when user clicks button and the values inside table widget changes. 

TonyZhang
13-Aquamarine
(To:AS_9994683)

Hi @AS_9994683 ,

 

5 seconds refresh interval sounds to me quite short, please make sure that's really necessary to your business otherwise that might introduce performance issue if the datasets are large. 

I see. The button you mentioned was 'update' button after editing the Grid content, not the 'refresh' button that bound to GetProperties.

Then you should bind the 'clicked' event of the update button to the separate 'update' service you created to modify the data source, then bind the ServiceInvokeCompleted event of the 'update' service to GetProperties to refresh the display instead of binding the GetProperties' ServiceInvokeCompleted event to itself.

 

Top Tags