Hi all,
I have query reagrding powerapps,
i have powerapps gallery contains filter sort and all, here i have one label value that will be calculated for each rows, now i need to sort for this column.
Since lblGMonthsValuePI is actually a label name inside gallery label value is CountRows(ThisItem.Assigned_To_Group),
for each rows value will differer.
Reference i will add the code as well.
I will be using switch conditions for different conditions,
vIf(
blnPhoneInventory = true,
Switch(
blnPISortColumn,
"Assigned",
SortByColumns(
Filter(
colDormantPhoneData,
And(
Or(
IsBlank(iptPersonNamePI.Text),
iptPersonNamePI.Text in tisrpa_assigned_to
),
Or(
IsBlank(iptPhonePI.Text),
iptPhonePI.Text in tisrpa_phone_number
),
Or(
IsBlank(iptTelCodePI.Text),
iptTelCodePI.Text in tisrpa_telcode
),
Or(
IsBlank(iptCarriers.Text),
iptCarriers.Text in tisrpa_carrier
)
)
),
"tisrpa_assigned_to",
If(
blnCalendarSort = true,
SortOrder.Descending,
SortOrder.Ascending
)
),
"Phones",
SortByColumns(
Filter(
colDormantPhoneData,
And(
Or(
IsBlank(iptPersonNamePI.Text),
iptPersonNamePI.Text in tisrpa_assigned_to
),
Or(
IsBlank(iptPhonePI.Text),
iptPhonePI.Text in tisrpa_phone_number
),
Or(
IsBlank(iptTelCodePI.Text),
iptTelCodePI.Text in tisrpa_telcode
),
Or(
IsBlank(iptCarriers.Text),
iptCarriers.Text in tisrpa_carrier
)
)
),
"tisrpa_phone_number",
If(
blnCalendarSort = true,
SortOrder.Descending,
SortOrder.Ascending
)
),
"Telcode",
SortByColumns(
Filter(
colDormantPhoneData,
And(
Or(
IsBlank(iptPersonNamePI.Text),
iptPersonNamePI.Text in tisrpa_assigned_to
),
Or(
IsBlank(iptPhonePI.Text),
iptPhonePI.Text in tisrpa_phone_number
),
Or(
IsBlank(iptTelCodePI.Text),
iptTelCodePI.Text in tisrpa_telcode
),
Or(
IsBlank(iptCarriers.Text),
iptCarriers.Text in tisrpa_carrier
)
)
),
"tisrpa_telcode",
If(
blnCalendarSort = true,
SortOrder.Descending,
SortOrder.Ascending
)
),
"Carrier",
SortByColumns(
Filter(
colDormantPhoneData,
And(
Or(
IsBlank(iptPersonNamePI.Text),
iptPersonNamePI.Text in tisrpa_assigned_to
),
Or(
IsBlank(iptPhonePI.Text),
iptPhonePI.Text in tisrpa_phone_number
),
Or(
IsBlank(iptTelCodePI.Text),
iptTelCodePI.Text in tisrpa_telcode
),
Or(
IsBlank(iptCarriers.Text),
iptCarriers.Text in tisrpa_carrier
)
)
),
"tisrpa_carrier",
If(
blnCalendarSort = true,
SortOrder.Descending,
SortOrder.Ascending
)
),
"MonthsValue", // New case for sorting by calculated column
SortByColumns(
Filter(
colDormantPhoneData,
And(
Or(
IsBlank(iptPersonNamePI.Text),
iptPersonNamePI.Text in tisrpa_assigned_to
),
Or(
IsBlank(iptPhonePI.Text),
iptPhonePI.Text in tisrpa_phone_number
),
Or(
IsBlank(iptTelCodePI.Text),
iptTelCodePI.Text in tisrpa_telcode
),
Or(
IsBlank(iptCarriers.Text),
iptCarriers.Text in tisrpa_carrier
)
)
),
"MonthsValue", // Sort by calculated value
If(
blnCalendarSort = true,
SortOrder.Descending,
SortOrder.Ascending
)
),
// Default case if none of the above matches
Filter(
colDormantPhoneData,
And(
Or(
IsBlank(iptPersonNamePI.Text),
iptPersonNamePI.Text in tisrpa_assigned_to
),
Or(
IsBlank(iptPhonePI.Text),
iptPhonePI.Text in tisrpa_phone_number
),
Or(
IsBlank(iptTelCodePI.Text),
iptTelCodePI.Text in tisrpa_telcode
),
Or(
IsBlank(iptCarriers.Text),
iptCarriers.Text in tisrpa_carrier
)
)
)
),
Switch(
blnCalendarSortColumn,
"Assigned",
SortByColumns(
Filter(
colDormantPhoneData,
And(
Or(
IsBlank(iptPersonNamePI.Text),
iptPersonNamePI.Text in tisrpa_assigned_to
),
Or(
IsBlank(iptPhonePI.Text),
iptPhonePI.Text in tisrpa_phone_number
),
Or(
IsBlank(iptTelCodePI.Text),
iptTelCodePI.Text in tisrpa_telcode
),
Or(
IsBlank(iptCarriers.Text),
iptCarriers.Text in tisrpa_carrier
)
)
),
"tisrpa_assigned_to",
If(
blnCalendarSort = true,
SortOrder.Descending,
SortOrder.Ascending
)
),
"Phones",
SortByColumns(
Filter(
colDormantPhoneData,
And(
Or(
IsBlank(iptPersonNamePI.Text),
iptPersonNamePI.Text in tisrpa_assigned_to
),
Or(
IsBlank(iptPhonePI.Text),
iptPhonePI.Text in tisrpa_phone_number
),
Or(
IsBlank(iptTelCodePI.Text),
iptTelCodePI.Text in tisrpa_telcode
),
Or(
IsBlank(iptCarriers.Text),
iptCarriers.Text in tisrpa_carrier
)
)
),
"tisrpa_phone_number",
If(
blnCalendarSort = true,
SortOrder.Descending,
SortOrder.Ascending
)
),
"Telcode",
SortByColumns(
Filter(
colDormantPhoneData,
And(
Or(
IsBlank(iptPersonNamePI.Text),
iptPersonNamePI.Text in tisrpa_assigned_to
),
Or(
IsBlank(iptPhonePI.Text),
iptPhonePI.Text in tisrpa_phone_number
),
Or(
IsBlank(iptTelCodePI.Text),
iptTelCodePI.Text in tisrpa_telcode
),
Or(
IsBlank(iptCarriers.Text),
iptCarriers.Text in tisrpa_carrier
)
)
),
"tisrpa_telcode",
If(
blnCalendarSort = true,
SortOrder.Descending,
SortOrder.Ascending
)
),
"Carrier",
SortByColumns(
Filter(
colDormantPhoneData,
And(
Or(
IsBlank(iptPersonNamePI.Text),
iptPersonNamePI.Text in tisrpa_assigned_to
),
Or(
IsBlank(iptPhonePI.Text),
iptPhonePI.Text in tisrpa_phone_number
),
Or(
IsBlank(iptTelCodePI.Text),
iptTelCodePI.Text in tisrpa_telcode
),
Or(
IsBlank(iptCarriers.Text),
iptCarriers.Text in tisrpa_carrier
)
)
),
"tisrpa_carrier",
If(
blnCalendarSort = true,
SortOrder.Descending,
SortOrder.Ascending
)
),
"MonthsValue", // New case for sorting by calculated column
SortByColumns(
Filter(
colDormantPhoneData,
And(
Or(
IsBlank(iptPersonNamePI.Text),
iptPersonNamePI.Text in tisrpa_assigned_to
),
Or(
IsBlank(iptPhonePI.Text),
iptPhonePI.Text in tisrpa_phone_number
),
Or(
IsBlank(iptTelCodePI.Text),
iptTelCodePI.Text in tisrpa_telcode
),
Or(
IsBlank(iptCarriers.Text),
iptCarriers.Text in tisrpa_carrier
)
)
),
"MonthsValue", // Sort by calculated value
If(
blnCalendarSort = true,
SortOrder.Descending,
SortOrder.Ascending
)
),
// Default case if none of the above matches
Filter(
colDormantPhoneData,
And(
Or(
IsBlank(iptPersonNamePI.Text),
iptPersonNamePI.Text in tisrpa_assigned_to
),
Or(
IsBlank(iptPhonePI.Text),
iptPhonePI.Text in tisrpa_phone_number
),
Or(
IsBlank(iptTelCodePI.Text),
iptTelCodePI.Text in tisrpa_telcode
),
Or(
IsBlank(iptCarriers.Text),
iptCarriers.Text in tisrpa_carrier
)
)
)
)
)