Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

SOLVED

Hidding table row - presence = "hidden" not working

robson1976
Level 2
Level 2

Hi all,

 

I need to hide a row from the table based on a condition and all the suggestions I found says to use .presence = "hidden", but unfortunately only the line content is being hidden and not the entire row.

This is the JavaScript I'm using:

data.#pageSet[0].Page1.BasicData::initialize - (JavaScript, client)

if ( $record.V_FLAG.value != "X" ) {
this.resolveNode("Page1.BasicData.Table1.Line2").presence = "hidden";
}

 

I also tried the following alternatives:

 

if ( $record.V_FLAG.value != "X" ) {
this.resolveNode("Page1.BasicData.Table1.Line2.Cel1").presence = "hidden";
}

if ( $record.V_FLAG.value != "X" ) {
this.Table1.Line2.presence = "hidden";
}

if ( $record.V_FLAG.value != "X" ) {
this.Table1.Line2.Cel1.presence = "hidden";
}

 

I appreciate any help.

1 Accepted Solution
Kosta_Prokopiu1
Correct answer by
Employee
Employee

@Magus069fair enough but from the description and the word "table" you cannot pinpoint things as everyone uses terms in their way.

If this is a XFA table it should be totally easy:

Kosta_Prokopiu1_0-1616396295303.pngKosta_Prokopiu1_1-1616396329566.png

You don't even need all that flowed context stuff as long as the table stands on its own, has nothing following it which needs to move and does not exceed the page boundaries.

 

If that does not work for you then I can only guess what the problem may be:

  • Something different in the structure of your XFA table compared to mine.
  • Is this a dynamic table, meaning Line2 is repeated vs. fixed row design?
  • Your logic is somehow not correct or not correctly placed
  • Your data is not what you expect.
  • Ideally you should place the hiding logic in the Line2 table subform if possible. Saves you the resolveNode.
    if ( $record.V_FLAG.value != "X" ) {
      this.presence = "hidden";
    }

View solution in original post

5 Replies
Magus069
Level 10
Level 10

Hi there,

 

it is hard to say why it behaves this way, and without the hierarchy it would be hard to explain and understand... have you tried hiding Table1?

I am not sure exactly what you mean by: hiding Line1 is hiding the content only and not the row.

Kosta_Prokopiu1
Employee
Employee

my guess: you have not placed your table in a flowed top-to-bottom context. In that case hidden would hide things but they cannot flow/collapse.

Kosta_Prokopiu1_0-1616174826157.png

I created a table and make Line1 hidden on initialize

Kosta_Prokopiu1_3-1616175229959.png

When Table1 is not Flowed then the wrong result:

Kosta_Prokopiu1_4-1616175279384.png

 

Result with Table1 Flowed:

Kosta_Prokopiu1_5-1616175319257.png

 

 

robson1976
Level 2
Level 2
I was trying to use the table element, but using subforms worked too.
robson1976
Level 2
Level 2
I was trying to use the table element, but using subforms worked. Thank you
robson1976
Level 2
Level 2
I was trying to use the table object, but using subforms worked. Thank you!
Magus069
Level 10
Level 10
To be honest, his example is not fixing your error, but simply showing how it works with subforms... Your problem using a Table and Rows, is entirely different from simply changing the parent's subform to Flowed content.
Kosta_Prokopiu1
Correct answer by
Employee
Employee

@Magus069fair enough but from the description and the word "table" you cannot pinpoint things as everyone uses terms in their way.

If this is a XFA table it should be totally easy:

Kosta_Prokopiu1_0-1616396295303.pngKosta_Prokopiu1_1-1616396329566.png

You don't even need all that flowed context stuff as long as the table stands on its own, has nothing following it which needs to move and does not exceed the page boundaries.

 

If that does not work for you then I can only guess what the problem may be:

  • Something different in the structure of your XFA table compared to mine.
  • Is this a dynamic table, meaning Line2 is repeated vs. fixed row design?
  • Your logic is somehow not correct or not correctly placed
  • Your data is not what you expect.
  • Ideally you should place the hiding logic in the Line2 table subform if possible. Saves you the resolveNode.
    if ( $record.V_FLAG.value != "X" ) {
      this.presence = "hidden";
    }

View solution in original post

robson1976
Level 2
Level 2

@Kosta_Prokopiu1

 

I tried to follow your example, but it didn't work for me. The element is not collapsing.

 

robson1976_0-1616412779949.png

 

Before this.presence = "hidden"

robson1976_2-1616413408101.png

 

After

robson1976_3-1616413518779.png