cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
kspoojary
Helper I
Helper I

Loading Image for Gallery Control

Hi ,

 

I have Gallery Control and i am showing a loader image when gallery is loading. I am using Image's Visible property to show and hide the loader image based on the Gallery controlss Item.

 

like this

Image1.Visible =IsEmpty(Gallery1.AllItems).

 

This works perfect if we are getting some records from the datasource. Problem is if there is no record then the loading image will be visible forever. I want to show no record lable in case if there is no data.

 

Any help is apperciated.

 

1 ACCEPTED SOLUTION

Accepted Solutions

Sample code:

Screen1.OnVisible=UpdateContext({v:true})

Image1.Visible=v

Timer1.AutoStart=true

Timer1.OnTimerEnd=UpdateContext({v:false})

 

Timer1.Duration=4000

 

View solution in original post

11 REPLIES 11
dinusc
Microsoft
Microsoft

I'm not sure the "IsBlank" function is a good choice here. Try using CountRows(Gallery1.AllItems)=0

Hi , my code is working properly when there is data. But in some scenario's if there is no data, I want to hide the loading Image and show the no records found lable.

Currently I don't have control on when to hide the image because there no event that notify.

 

 

Also I found the LoadingSpinner property on the Screen control what is the purpose of it? and how to use it?

I understand now. Unfortunately there's no easy way to resolve this currently. The problem is that when you assign your gallery to a source, you will get the records quickly (AllItems will not be blank) but those records will contain just the image links which will take time to load.

If what you have now works to your satisfaction and the only issue is to handle the situation when the bound source actually does not contain any data then I don't think there's a better solution then just setting a timer to cancel your progress indicator.

The LoadingSpinner property just controls the "running dots" animation at the top of your screen.

@dinusc Thanks. I will try the timer approach

Mike8
Memorable Member
Memorable Member

Hello..

Can you please share what is the source of the gallery?
What if you have Image1.Visible =IsEmpty(Gallery1.AllItems)&&LookUp(DatasourceOfTheGallery,true,true)

Gallery1.Items=SortByColumns(Search(Filter('[dbo].[v_DRMS_OPPORTUNITIES_CUSTOMERLIST]_1',AMID=amid), TextSearchBox1.Text, "CUST","CUST_PK"), "CUST", If(SortCustDescending, Descending, Ascending))

Mike8
Memorable Member
Memorable Member

Does 

Image1.Visible =IsEmpty(Gallery1.AllItems)&&LookUp(Search(Filter('[dbo].[v_DRMS_OPPORTUNITIES_CUSTOMERLIST]_1',AMID=amid), TextSearchBox1.Text, "CUST","CUST_PK"),true,true)

work? Did you try?

I tried this but it is not working, still I can see the loading image. 

@dinusc can you please help me with sample code for Timer.

Helpful resources

Announcements
Ignite 2022

WHAT’S NEXT AT MICROSOFT IGNITE 2022

Explore the latest innovations, learn from product experts and partners, level up your skillset, and create connections from around the world.

Power Apps Africa Challenge 2022

Power Apps Africa Challenge

Your chance to join an engaging competition of Power Platform enthusiasts.

Super User 2 - 2022 Congratulations

Welcome Super Users

The Super User program for 2022 - Season 2 has kicked off!

September Events 2022

Check out all of these events

Attend in person or online, there are incredible conferences and events happening all throughout the month of September.

Users online (3,415)