1. Shaila Panwar
  2. PowerBuilder
  3. Tuesday, 17 April 2018 10:12 AM UTC

Hi,

I have a scenario where I wanted to split the input fields of data window in multiple pages.

For example if I am opening the data window first few columns should displayed then when I click on next rest of the columns should be displayed and so on.

And user can enter the input in multiple pages of the data window.

Is there any way we can achieve this?

 

Gimmy Susan Accepted Answer Pending Moderation
  1. Tuesday, 17 April 2018 13:06 PM UTC
  2. PowerBuilder
  3. # 1

You can use ShareData 

Comment
  1. Shaila Panwar
  2. Wednesday, 18 April 2018 03:40 AM UTC
The data window is getting created dynamically.



The number of columns are not definite in the data window hence it is getting created dynamically during run time.



How can we achieve in this case using ShareData?

  1. Helpful
There are no comments made yet.
Lars Mosegaard Accepted Answer Pending Moderation
  1. Wednesday, 18 April 2018 05:14 AM UTC
  2. PowerBuilder
  3. # 2

Sounds very ambitious.  You would need to create from sql:

ls_syntax = SQLCA.SyntaxFromSQL('SELECT a, b , c...', &
"Style(Type=Form)" + &
 "Datawindow(Rows_Per_Detail=12 ) ",ls_errors)

dw_form.CREATE ( ls_syntax )

This will give you a form datawindow with blocks of 12 columns and labels.

For columns 13 to column count

  1. hide column 
  2. hide label 
  3. move column to x of column 1
  4. move label to x of label 1

​if your next button call of_next ( )

of_next ( )

if dw_form.AcceptText() < 0 return -1

if current page is 1 use modify to

  1. hide columns 1 to 12
  2. hide label 1 to 12
  3. show columns 13 to 24
  4. show label 12 to 24
  5. set column 12

 

 

Comment
  1. Shaila Panwar
  2. Wednesday, 18 April 2018 08:53 AM UTC
Thanks you Lars, Let me quickly try this .. 

  1. Helpful
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.