Based on value in Item in Repeater widget, fill other textfield in Repeater widget

Hey guys,

I couldn’t find an answer on the forum.

Imagine we have a repeater with columns l Year l Month l Date l Counting dates l. After clicking on the button “Count” in UI, it will automatically fill the count of dates in the column “Counting Dates”. If there is value February in “Month” column in the repeater, it will set the number 28 in the “Counting Dates” text field in the repeater.

How can I achieve this?

Thank you for your help.

It will be much easier to help you if you could upload your .rp file.

Some general questions:

Is the “Count” button outside or inside the repeater?

  • What gets counted?
  • All the days in one month?
  • Only some of the days?
  • All the days in all the months?

What does “fill the count of dates” mean?

  • Do the values in the “Counting dates” column get summed and shown somewhere?
  • Update widget in the repeater?
  • Update widget outside the repeater?

What exactly does the “Counting dates” column represent?

  • The number of days in a month?
  • If so, why would there need to be a “Counting dates” column if you want to automatically calculate number of days in a month based on month name?
  • Or alternatively, why calculate “If February then 28” when the “Counting dates” column could just be set to “28” (and if a leap year, “29” but not on a century “00” year except for a millennial “000” year --or something like that.)
  • Presumably the 30-day months like April would need to be set as well?
  • Would the value in “Counting dates” ever change for some reason?

In general, to sum the values in a repeater column across all rows, you can handle it in the OnItemLoad event, like this thread shows:

If you want to sum the values in “Counting dates” column on command, you could call an otherwise unused event for a widget in your repeater, like OnMove or OnRotate. Set the text on a widget or a global variable to zero then move the widget in your repeater by (0,0) so it won’t actually move anywhere, just trigger its OnMove event. In that OnMove, set your value to increment by the value in the “Counting dates” column, e.g, Set value of OnLoadVariable to value of "[[OnLoadVariable + Item.Countingdates]] Moving a widget in the repeater will successively move every instance of that widget–every row’s widget. This should give you a good sum as long as you remember to “zero it out” before doing the summation.