Skip to main content
1-Visitor
December 16, 2019
Solved

Is it possible to highlight complete column based on column name?

  • December 16, 2019
  • 4 replies
  • 1545 views

Hi,

 

Am displaying a grid with 24 hrs data, want to highlight columns based on user selection. Selection happening by range slider.

 

Ex,

User can select  From and To hours b/w 1-24 by range slider, based on the selection grid columns should be highlighted. Grid column name are like 1,2,3,..24

 

 

Regarding

Janakiraman P

Best answer by Radu

Hi,

 

You did not use the x variable in the for loop. I assume it is the row index for the infotable. What is the datashape of alldata? Does it contain all 48 columns? If so, try accessing the elements through alldata[x][colArray[index-1]].

 

Also if you are working with booleans, you shouldn't enclose true between apostrophes.

4 replies

15-Moonstone
December 16, 2019

Hi,

 

I don't believe it is possible to colour specific cells within a row, only the whole row itself.

You might consider a service that filters the grid columns in such a way that the only columns shown are the ones specified in the range slider. Is this approach good for your solution?

1-Visitor
December 16, 2019

Hi,

 

Am having an idea to make it possible.

 

I have 48 columns in the datashape, first 24 are actual columns and next 24 are duplicate of first.

Ex, one,two,three...twentyfour     then  one_1,two_2,three_3...twentyfour_24

 

based on value of one_1(true/false) state definition can be applied on column one.

 

Based on the user input range am writing the following code to update the infotable.

 

user input variables are, from=2  to=5

 


var alldata = Things["R_n_D_John"].GetDataTableEntries({
maxItems: undefined /* NUMBER */
});
var colArray=['one_1','two_2','three_3','four_4','five_5','six_6','seven_7','eight-8','nine_9','ten_10','eleven_11','twelve_12','thirteen_13','fourteen_14','fifteen_15','sixteen_16','seventeen_17','eighteen_18','nineteen_19','twenty_20','twentyone_21','twentytwo_22','twentythree_23','twentyfour_24'];

 

 

for(var x=0;x<alldata.getRowCount();x++){
for(var index=from;index<=to;index++)
{
alldata.colArray[index-1]='true';
}


}

result=alldata;

 

 

 

but am getting a different error now. getting the following error.

 

 

Error executing service filteredData. Message :: TypeError: Cannot set property "1" of undefined to "true" - See Script Error Log for more details.

 

help me to resolve the error if possible.

 

 

Regards,

Janakiraman P

 

Radu15-MoonstoneAnswer
15-Moonstone
December 16, 2019

Hi,

 

You did not use the x variable in the for loop. I assume it is the row index for the infotable. What is the datashape of alldata? Does it contain all 48 columns? If so, try accessing the elements through alldata[x][colArray[index-1]].

 

Also if you are working with booleans, you shouldn't enclose true between apostrophes.