Great video! How would one use a sort function with an editable grid? It seems that everytime i edit a field the gallery is re-sorted immediately and i have to go search for it to enter the remaining fields?
For that you would need to change the concept. You can connect the grid to a collection. Then onchange of grid patch data to another collection (temp collection). Once all changes are done and user clicks save, then patch the temp collection to data source and reload the grid collection.
@@RezaDorrani Another awesome benefit of using a separate collection to post the changes to in the "OnChange" property of the gallery is that one can now easiliy see which "cells" have been modified by setting the fill property to something like this: If(ThisItem.(ItemName) = Self.Text, White, Red). Awesome stuff!!! TY again!!
You not only designed, but explained perfectly, this entire application in 42 minutes and 49 seconds. Tell me Power Apps is not a great application development platform.
This is one of the best technical "how to" videos I've ever watched. Perfect level of detail and great explanation of the "why" of each step. Thank you!
Hey Reza, thank you for the reply. Do you think there is any other way to accomplish this? Other than using a component? Would a Concatenate of 3 different dropdowns work to write into a Date/Time Field?
I literally don't know what I would do without your videos Reza. You have helped me to start getting PowerApps built and propagated across my company and changed my career path. Can't thank you enough for everything that you do!
This is why it is impossible to skip any of your videos. FANTASTIC FANTASTIC FANTASTIC tutorial/master class. Learnt a tonne about functions and functionality that I did not know I even needed to know about. Really incredible content Reza. Thank you. So real-world applicable and an absolute God-send. 🙏🏾
Awesome video Reza. The pace is perfect, and I'm particularly pleased that there is no "fluff" in the Video, everything is to the point. You're definitely the "go to" guy for PowerApps and Power Automate content.
15 days ago, I had zero knowledge on Powerapps. I started with Reza's video and truely speaking the way you described each and every situations are really to the point, and clean instructions. You are truely have great knowledge and you know how to pass it to others. Thanks Reza once again for your amazing learning videos..
I'm so glad to have come across your video, I was lost in Microsoft purgatory. It seemed like every time I tried to create something I would end up with a headache and about fifty open internet pages. I own a small business and have always tried to push the boundaries. (which isn't hard because sadly most of my competitors are still using pencil and paper. ) I was starting to lose the faith in my company and myself because I knew we could do what I wanted to, but I couldn't get it to work. I spoke with MS and they put me in touch with multiple companies that wanted over 50k to do what I wanted, so I was about to tuck my tail and join the crowd until you finally showed me exactly what I was missing. I have gone back through sites and books and there wasn't a snowball's chance in hell, I would have ever figured it out without coming across your video. Thank you Thank you Thank you, can wait to learn more from you !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Makes me so happy to know the content is making a difference and being appreciated. Thank You for watching the videos. I hope to keep contributing to the best of my abilities.
Hi Reza, this is the BEST Power Apps tutorial I have seen yet. This tutorial covers everything I was looking for and solves so many problems in terms of app speed and writing to the data source as little as possible!! Thank you so much!!
Certainly the best video I've seen, and used I might add, on editable grid. As a bonus you added the option for adding a way to bulk-edit the records which was a nice touch, or very helpful in providing this requirement. You have some great videos that have enhanced what I already have, and have given me ideas for creating additional features to my existing apps. Thanks for the great videos and you now have another subscriber.
Wow! I’m so impressed, this solves SO many of my user requests. Thanks SO much!!! Now if I can figure out how to filter on different columns like in Excel, that would be fantastic!
Thanks Reza! I was starting from scratch before christmas with powerapp with none/less IT Background. Your tutorials helped me a lot. Keep on doing such great videos!!!
Hi Reza, this is fantastic👌 you have packed a lot of content in 42 minutes and I watched this for over 6 hours….I’m almost there 😅. Thank you for providing the how and the why!
@@RezaDorrani 😅I’m done! My issue with patching is due to a metadata field that allows the creation of new terms by the user. I’ve searched but can’t find whether this is supported or not. I would appreciate your comment on this! Thanks again for such an amazing videos!
@@olgamelo4416 Not sure about managed metadata fields. They are more complicated to handle in Power Apps. Check ruclips.net/user/AudrieGordon She did a few videos on managed metadata columns.
Fantastic video Reza, great work! Really comprehensive video, keep up the good work. Being a newbie I only got one minor issue which I managed to resolve, if anyone else faces this, its on the entering of values to a number field in sharepoint, it's worth a mention if it's a number format simply include value(field.Text) which will resolve the error.
@@RezaDorrani Thanks Reza, I had another business issue you may be able to help with. Basically, I have 4 textboxes (one for each quarter of the year) and a Total text box for the year. I was wondering how you can get the total text box to sum the value entered in each of the four boxes so that it totals automatically and populates the SharePoint list with the total of what has been entered when the user submits?
@@Reviews365 Use the CountRows function. I do not have a specific video on this scenario. Try giving it a shot and in case of issues, post your query with screenshots on forums at powerusers.microsoft.com/
This is amazing. Thank you so much Reza. I saw another comment saying that your video's have changed their career path, and this is true for me also. I'm now teaching our own small group of citizen developers and if I find anything I don't know, I always search your videos first. I feel like getting a custom coffee cup with "Reza is my hero". You should sell them! I'd buy one! 😀
So happy to hear this! You are doing good work by teaching other citizen developers Fleur. Wish you all the best! As long as I am a hero in people’s hearts, I am happy 😊
Wow, it is really great, I just started watching SharePoint list videos, your video is really very informative and good to know these features, please do post video like this. Thanks
Reza you are my hero! Thanks a milion for your helpful videos! You have a solution to all my questions on Power App and as a beginner it is easy to follow you! Great pace and reeeeeeaaaaally useful explanations on why each step is needed. Simply great! Thank you!
First, smash that like button and comment, Even RUclips likes Reza's content so it transcribes each word correctly while transcribing Hollywood's movie and native RUclipsrs English in some gibberish language 😄🙇. Very helpful for international non-English speakers .
Great informative video Reza! I truly appreciate the effort you put in to create such an excellent content as I can find everything what I can think of about Grids behaviour! Eagerly waiting for 2nd part of the video. Thanks a lot for sharing information 🙏
Did not think of copying a datacard control to get the lookup i wanted with the data i needed in an editable grid via gallery. :D Great tutorial, the results of this tutorial are a cut above the rest.
Reza, this is just brilliant. You have a knack for explaining complex scenarios in a simple manner. What an asset you are to the community. Thank you. Question: would there be an easy way to make this grid functionality reusable across multiple canvas apps? Perhaps as a component? I'm thinking it would be amazing if you could built the grid functionality once and then to reuse it across multiple apps, just supply it with the data source and bam all the columns and functionality are created automatically. How would one go about doing that?
Thanks for this video Reza, you really break down every detail of building powerapps so well. Just 2 questions pls: 1) if I have an ID and Attachments header, what would be the Default/DefaultSelectedItems input function (15:27)? Similarly, when creating the Patch, what would the functions for ID and attachments be? Thank you!!
Awesome video Reza, well presented & great content. Helped me spin up a form in no time! Question : I have built an editable grid like yours (7 columns - 2 drop downs & 5 text boxes) however I am finding that after I edit a column and click on the next column I need to click on it twice - always. I have added the OnChange for each control to Select(Parent), and the gal onselect does the patch to the collection. Is there a setting somewhere that needs to be changed to allow the target column to receive the focus on a single click rather than clicking twice?
Workaround is to have 2 collections. colGridData is the collection you bind to the grid (items property). OnChange of grid values you update a different collection (colgriddatatemp). Once changes are saved, you patch colgriddatatemp to the data source and then reload colgriddata.
Workaround is to have 2 collections. colGridData is the collection you bind to the grid (items property). OnChange of grid values you update a different collection (colgriddatatemp). Once changes are saved, you patch colgriddatatemp to the data source and then reload colgriddata.
Hi Reza, brilliant and amazingly simple approach for complicated task shown here, one of best tutorials I have seen for Powerapps. I tried to apply this for my case but I am running across one issue, for some reason the gallery is generating half empty row duplicates when grid screen is shown. Do you know what might be the issue?
Thanks Roman. I believe if you save your App, close browser and then reopen app to edit, it should solve the problem. Video description includes link to download sample App as well.
@@RezaDorrani Hey Reza. I know I'm a little late to the game as this was recorded a couple years ago, but I've just recently began my PowerApps journey. After 26 minutes in, I'm having issues and wanted to look at the App to see if it's just me. However, the App does not appear to be available when I click on the link. The ISSUE: Network error when using update function. The specified column is read only and can't be modified. Thanks for any help you can provide.
This is awesome Reza. I have been waiting for editable grid from long time. You are making us feel everything is possible with Power Apps. Great job as always.
Hi Reza. Love all of your videos. I've learnt everything about powerapps from you since last 1 month and currently working on a POC. In this video at 17:00 when we set OnChange for all the gallery controls we set Select(Parent). This thing is creating some issue for my app. When i play the app it keeps loading and loading for 1-2 minutes and nothing works. Then i tried removing the OnChange code from all controls and it stopped happening. I have 200+ records in my SharePoint list. Is this because i have huge data its loading so much? Also i am getting errors inside the patch function OnSelect of gallery 17:10 "The type of this argument 'field_4' does not match the expected type "text". Found type 'record'." My column name is "Support group" in SharePoint list. I don't know why it says field 4 here. This issue is with all drop-down control. I found a solution online which says. - 'Support group': Group.Selected.'Support group' After adding the.'support group' in the end the error goes away but In this video you never used such syntax. Do you have any resources i can refer to? And i am still confused why some column names on my collection is named as Foeld1.2.4 etc instead of the real column name. Sorry for the long message but im really stuck here for days. Thanks in advance ♥️
Thanks for watching & liking the videos. Video description has link to download sample App. There is a known bug with the comb box control. Replace it with drop down control in grid. As for your issue(s), I will have to look at your App in action to provide guidance. I would recommend posting your issue/query with screenshots on the forums at powerusers.microsoft.com
This is really a very good Tutorial where the video has been covered with through . Finally So much of content in just one video to learn implement and apply . I solemnly thank you for such a deep dive explination and I know the amount of work it would had taken to cover this whole topic in just 42 mins .
Glad to hear that! I did spend a lot of effort in this video. The original video recording was around 2 hrs. and 15 mins. I did a rehearsal prior to recording the video and built everything live on the fly.
This was AWESOME! Perfect pace , explanation, and details. I know this is a bit old but I just stumbled across it. I put it into one of my apps and the only issue I have is that my controls in the grid are mostly text boxes and tabbing between them isn't happy. I have to click twice in the box to be able to add/edit. I suspect that has something to do with the container and the onchange but this was a super cool video!
@@davidtimm4382 I believe it is at you say, OnChange fires when tabbing to next control, the new value gets loaded to the control where the change happened, and powerapps loses focus of what you were tabbing to. something like that. I believe i saw a comment here somewhere about a workaround where you use two collections. One to display values, one to apply the changes... have not got it working yet myself tho.
Your videos are so awesome! I usually don't have any issues, but I think I might be doing something wrong on this one. My changes aren't saving to the SharePoint list when I hit the Exit Grid View, and I'm using that code provided: If(varGridEdit, Patch('NH Log -APP Testing', colGridData)); Select(btnLoadData); Set(varGridEdit, !varGridEdit). Also, multi select items are disappearing when I Exit grid view. Any ideas of what I may have missed? Thank you for all the time and effort you put into helping us with Power Apps!
Thanks! I have not experienced the mentioned issue and hence not sure what is the cause or fix for it. I will recommend posting your issue with screenshots on the forums at powerusers.microsoft.com in case someone has experienced something similar.
Reza - Thank you so much for the clear and concise details. You will have to forgive though, as I have more than likely missed something that is important. I have recreated an editable responsive grid for prototyping to a customer and find that it is not updating my SharePoint list. In brief, it retrieves the correct data when the screen loads, it allows me to enter a data change, and when clicking Exit grid view it appears to do the update but actually does not. I verify that in the SP List. Oddly, the Load button does show activity when the the app leaves the grid view, so i am not sure where my disconnect is. Any thoughts would be appreciated.
Video description has link to download sample app. As for your issue, I will have to look at your App in action to provide guidance. I would recommend posting your issue/query with screenshots on the forums at powerusers.microsoft.com
Hi, Reza! Great tutorial! I'm wondering, what would be the process if the column is an Attachment? I've been having issues doing that following this tutorial. Thank you in advance!
Thanks! Patch function does not support attachments. You can check this video where in I combine gallery with form for attachments ruclips.net/video/HHXKfB1iAH4/видео.htmlsi=fSwJEV8xhTE2CeGH
Thank you so much for this tutorial Reza, you are such a fantastic teacher. I think I've watched this video about 100 times while building my grid! I'm having problems with the grid adding multple unwanted rows - how can I fix this?
If you have watched 100 times then you should get it to work :) Check video comments. Dont use combo box control. Use dropdown. Also video description or pinned comment has link to download sample app
@@RezaDorrani I don't know what to say. I have only the greatest respect for you and your work and I , in fact, recently joined your bronze level. However, I have spent an inordinate amount of time trying to ensure that I'm following your instructions to the letter so I can be productive and get this great project right. Finally, I decided to search through all these notes only to find that a large number of people are having issues with duplicate rows; ghost rows, etc. I see you did have a counter measure to resolve that in a few places that I'll have to now try to figure out. I also see you mentioned combo boxes were an issue; to switch to dropdowns. I purposely avoided combo boxes due to their complexity and have only three dropdowns and I'm getting duplicate records. Actually, I started this project working with your Modern control grid only to find out that some of those controls are not fully fleshed out yet which is why I switched to this one. In my opinion, you should put some type of disclaimer on this video -- at the top in comments in bold -- or add some type of modification -- or immediately note the work around -- to resolve this duplicate row issue. People should know there may be a glitch right off. We are not all experts trying to work this out; we're trying to learn and do, in fact, trust your work. You are THE BEST! That won't change, but better communication on this video would have saved me an tremendous amount of time. You see, I trusted that following your video to the letter -- I could not go wrong. Now I find it is not my fault -- there is, in fact, an issue -- somewhere. Thanks for your listening and understanding. ( In retrospect -- apparently I did know what to say.)
@@cztop54 Thanks for sharing detailed feedback. Much appreciated. This video is definitely not designed for beginners and has in no way been called out in video. Many a times we make videos and then things change in product. But the video cannot be changed. Changing video title or description is not an option either as YT kills the relevancy for that video. Comments is the best option to communicate and I can only have 1 pinned comment. The duplicate issue is only due to combo box. If facing issue without combobox then something is definitely not wired correctly in App. I have responded to every comment to try and guide people in right direction. I have also shared the entire app for folks to look at the code. I would love to sit down with each and everyone and try resolve their issues but that is not possible :)
Really helpful.Thanks for the video. When we are using tab button of the keyword. Headers are not aligned as per the gallery columns. Pls assist me in this.
Thanks again Reza, I also noted that towards the end of the video around 41 minutes, that you utilized some options of using the button to bulk copy or delete the collections. So, I was wondering if there are videos that showcase how those options were programmed. Regards
This is a great video! I am having a few issues with some of the functions. Although I followed the instructions to the letter, the Delete button does not work. Also in the Update record function I keep getting the error message "Cannot use a non-record value in this context: UpdateIf(colGrid, Created = Blank(), {ID:Blank()})"
Thanks! I have not experienced this issue and hence not sure what is the cause for your issue. I recommend posting your issue/query with screenshots on the forums at powerusers.microsoft.com
Cannot thank you enough for these videos, the way you explain and make it easy to understand is just amazing…. I have a question once I do changes using this editable grid app, will I be able to see those changes, updates and copied items in the original share point list, I guess the answer is yes but would like to confirm 🙂
Thank You for watching and liking my videos. Answer is Yes. I even have a bulk updates based video on similar lines. Check ruclips.net/video/P6yqIpjmPrs/видео.html
@@RezaDorrani thank you for responding, im trying to display a couple of columns from my sharepoints that contains formula (concanate and sums) but the option Default or Default Selected items does not show up for these, do you know which property i can use?
@@caro1853 Not sure about that. Something that I would have to try out to provide guidance. I will recommend checking on the forums at powerusers.microsoft.com/
Very good video , the only way to get an editable grid on a canvas app pointing to a SharePoiint list . Very valuable , could not have developed that myself from scratch !
Hi Reza, thanks for sharing this method. Question: Do you have a workaround to retain keyboard tab index functionality with the use of OnChange for the input controls? I find that the OnChange event causes the input control to lose focus so that you can't tab through fields to type data. In fact, even the first mouse click into the next input field after typing a change in the previous field will lose focus.
Workaround is to have 2 collections. colGridData is the collection you bind to the grid (items property). OnChange of grid values you update a different collection (colgriddatatemp). Once changes are saved, you patcch colgriddatatemp to the data source and then reload colgriddata.
Do you have a sample of the "OnChange" grid values that are updated with the colgriddatatemp example? Is that assigned to each input control's OnChange or by an if/then statement on the items property of the gallery?
@@annettemassie1962 With all other things being the same as Reza's video, here are the changes I made to implement the 2nd collection feature that restores Tab index/mouse click expected behavior after OnChange() events. The LOADDATA button can have two ClearCollect() statements: ClearCollect(colGridData, 'Data Source Name'); ClearCollect(colGridDataTemp, colGridData) Then, on the Gallery's OnSelect() formula which has your Patch statement for the current grid record, (triggered by the OnChange() of each input field), you patch changes into the colGridDataTemp collection instead of colGridData. (Side note: You asked about having the Patch in the OnChange() of each input field -- yes you can optionally do that instead of having it on the Gallery and in that case each Patch() statement in the OnChange() of the input field should only patch that same input field's property instead of all properties. This offers better performance if you are patching a lot of columns in your grid.) EDIT/EXIT GRID BUTTON: Patch statement would patch the colGridDataTemp (modified collection) back to the data source, instead of colGridData. NEW BUTTON: You will also want to update your New button's formula with a couple of lines: 1 to synchronize colGridData and colGridDataTemp BEFORE adding the new item just in case the user has made changes to existing items before they click the New button, because adding an item to colGridData will refresh the Gallery which will not be displaying the modifications they made. The 2nd comes AFTER the Collect(colGridData... statement and collects the same new item into the colGridDataTemp -- it must have the same unique ID for records to remain in sync. (Note this simple method only works if you're creating 1 new item at a time when the New button is clicked.) My New button formula looks like: // sync colGridData with modified collection in case user made edits to existing records before adding new item ClearCollect(colGridData, colGridDataTemp); // add new record Collect(colGridData, Patch(varNewRecord, {ID: varNumber})); // add same new record to Temp/modified collection Collect(colGridDataTemp, Last(colGridData)) DELETE BUTTON: Similarly, you'll want to have 2 Remove() statements to remove items from both colGridData and colGridDataTemp. Remove(colGridData, colSelected); Remove(colGridDataTemp, colSelected); Collect(colDelete, colSelected); Clear(colSelected)
As long as the schema of your collection matches you can always collect data from second collection into colGridData and patch as normal. Collect(colGridData, col2)
Reza, thans for this excellent master class. I have a doubt. This example update all the records to datasource every time? event though you only updated 1 record? is it this?
@@RezaDorrani Can we create hierarchies in our grid columns, like the ones we have in Power BI Matrix visuals? We have the small +/- symbols before them and they expand when we go for + and contract when we select - .
Hi Reza - sorry to disturb you again. I am working with some calculations here and everything works perfectly so far, all thanks to you. The only issue that I am facing is that once I change an independent variable using Power Apps, other visuals show the change in derived calculations once I refresh from Power BI Desktop but the Power App Grid only shows the changed value of the independent variable - the derived calculations don't change in the Power Apps Grid. Everything is changing correctly at the backend - but not in Power Apps Grid. Only the value that we change is changing in Power Apps, associated calculations are not. Is there some way around this ? I hope I'm able to get my point across. As always, thank you so much for everything.
Bets of luck. Video description has link to download sample App. Give that a try. Also there is a bug with combo box control so make sure to replace it with drop down control.
@@RezaDorrani Yes, I found that yesterday. Something about not being available for evaluation? Also, can you explain how you can move things freely around in your header? I have just tried this and I am unable to resize or move anything?
Hi Reza, amazing video thank you. I am having trouble with the colgriddata in the patch function, it is saying its a table and not a record value. That it must be a record value. Do you know what this could be?
I see. I stopped getting that error when I changed the sharepoint list that it is patching too. I am using a different list in the gallery than I am where I want to store the information. Can I do that?
Video description or pinned comment has link to download sample App. You can give that a try. I have not come across the mentioned issue and not tried with a different list scenario and hence not sure what is the cause for your issue. I recommend posting your issue/query with screenshots on the forums at powerusers.microsoft.com
Really hot tutorial !!!!!!!! Thx ! I have a question though... When I pass in Edit grid view, if I change something or click in a control, the first line is repeting itself few time at the bottom of my list... I don't know why... Do you ? Thx in avance. Good job man ! it's a life/time saver !!! 😁
Thanks so much! Issue is related to combo box control. Replace it with dropdown. I have also done newer grid-based videos which shows advanced techniques. You can check those as well.
You mean combobox 1 line by a dropdown and combobox multilines by a list box? And why it don't happen with your grid? You have combobox... I try to understand the issue. Thx!
@@RezaDorrani Hi very good tutorial but I have the same problem the first line is repeating itself few time at the bottom of my list- I have text column and choices column.
Adding to this point so can we copy these line of items into another screen ? Let’s say we have a main gallery which stores some key field of these line items and we have the copy icon on the gallery so when we click on the copy it may navigate to a new screen which shows the same line items ? Is this scenario possible . Can we use a condition in the items property of the gallery control ?
Great video Reza! I really appreciate your approach to solving the various challenges with data collection. Would you recommend this method for a multiuser environment where someone maybe editing a record at another workstation?
Multiuser can work. For that though a lot more work is required. When patching, you would need to check if record was updated by another user, if yes then do not patch and notify user about changes.
Another excellent video Reza! Count me as fan! Question though, with that current issue with ComboBox's OnChange, do you have a workaround? I have to use ComboxBox in my scenario as I need its search functionality for multiple columns as I have another SP list as a data source for it. Thanks!
Hi there! Thank you for this video - it's great and super helpful! I have one question... is it possible to start with a blank gallery with the intention of only adding items to the sharepoint list, not needing to change any existing items? That is my end goal. thank you!!
It is possible. You would have to change logic of grid though to only work with new items. Not load data from data source into collection. I do not have a step by step guide on that scenario though. Give it a try and in case you run into issues I would recommend posting the issue with screenshots on the forums at powerusers.microsoft.com
@@RezaDorrani Thanks so much for getting back to me! That's what I was thinking too. Do you suggest putting a filter on the gallery to somehow only show new items? Or do you suggest somehow filtering the collection? Thanks again.
@@RezaDorrani This actually ended up being a lot simpler to do than I was making it out to be! For future reference, on the hidden button on the page (mine is called button2, this is the button that is selected when the edit in grid view button is selected), instead of using the ClearCollect function, you just have to use Clear(CollectionName).
Hi Reza. Very informative and useful. Thank you so much. By the way, 1 question, after adding 13 rows, it no longer adds or saves additional rows. Why is that? I might have missed something.
I dont think there is any such limit of 13 rows. Might be something to do with height of gallery or something in your case. I will have to look at your App in action to provide guidance. I would recommend posting your issue/query with screenshots on the forums at powerusers.microsoft.com
Hi Reza thank you very much for another great content. But I have an question for you. i followed exactly what you presented however when i click edit button it multiplies and duplicates the oldest entry three times.
Hi Reza, great video! I don't know if this question has already been answered. The only problem I have with this approach is that when I use the tab key to go to the next label, I have to press the tab key twice. After the first press, the onchange triggers to save/update the item in the collection. I was wondering if you have a solution for this?
There are a few comments on this. Workaround is to have 2 collections. colGridData is the collection you bind to the grid (items property). OnChange of grid values you update a different collection (colgriddatatemp). Once changes are saved, you patcch colgriddatatemp to the data source and then reload colgriddata.
Reza this is so powerful great pace and quality of instruction - Right at the end of the video you showcased a 'second version of the grid with the ability to update multiple records with a priority' where can I check this version out?
Great tutorial Reza. Suppose I wanted the 'Onselect' of 'Finish Date' to fill a text field with User().FullName. I have tried a few things but it updates all the rows with this change?
Thanks. Your issue is probably because you are not updating the current row. I will have to try it to know the formula. I recommend posting your query on forums powerusers.microsoft.com
Great informative video, really well explain and you make it super easy to follow. I wondering if I missed something... do you know if it is possible to move the header with the grid if the user tabs outs via the keyboard, I have about 20 columns, the slider is working, which is great but if you tab out of the input boxes and it goes off screen, the grid moves but the header doesn't.
Hi Reza, Thank you so much for this beautiful video which covers all technical aspects needed for developing editiable grid. I developed similar grid based on this Video and I am able to perform all the crud operation without any issue. But the only problem I do see here is my editiable grid is creating a blank record in collection , on every event (selecting date from date picker, updating the existing row, Selecting value from filter ). On final save this blank record is passed to source as well. Can you please suggest if I have missed any additional step?
Video description has link to download sample App. Remove combo boxes and replace with dropdown as combo box has a known bug. If issue still exists, I recommend posting your issue/query with screenshots on the forums at powerusers.microsoft.com
@@RezaDorrani thank you , after replacing with dropdown list it is working well on all text and drop-down fields except the Date picker. On selecting the Date, the new record is getting inserted into collection as like it was doing with combo box
Reza, thanks for excellent master class. I have a doubt. This example update all the records to datasource even though you, for example, changed only 1 record. is it this ?
Awesome video! I woulfd like to know if it would be possible to add a buttom to reset the form at the end of the day, but still have the information saved on the sharepoint list.
Info is saved in your data source. If you want form to reset daily, you will need to apply filter logic and handle many other conditions. I do not have a specific video on this scenario & it is something I would have to try out to provide guidance. I would recommend posting your query with screenshots on the forums at powerusers.microsoft.com. May be someone has done something similar.
Great stuff. You are truly amazing Reza!! Just wondering if there's away to add SharePoint attachment listed in the editable grid collection, add an attachment to the grid collection just like the way you add other columns and update SP list. Thanks
Great video! How would one use a sort function with an editable grid? It seems that everytime i edit a field the gallery is re-sorted immediately and i have to go search for it to enter the remaining fields?
For that you would need to change the concept.
You can connect the grid to a collection. Then onchange of grid patch data to another collection (temp collection). Once all changes are done and user clicks save, then patch the temp collection to data source and reload the grid collection.
@@RezaDorrani Genius!! Ty!!
@@RezaDorrani Another awesome benefit of using a separate collection to post the changes to in the "OnChange" property of the gallery is that one can now easiliy see which "cells" have been modified by setting the fill property to something like this: If(ThisItem.(ItemName) = Self.Text, White, Red). Awesome stuff!!! TY again!!
@@hnk5965 + you can have combo box controls in grid :)
@@RezaDorrani Thanks @Reza Dorrani.. new this power app.. will try as advised.
You not only designed, but explained perfectly, this entire application in 42 minutes and 49 seconds. Tell me Power Apps is not a great application development platform.
Thank You Bob. Appreciate the fantastic feedback.
This is one of the best technical "how to" videos I've ever watched. Perfect level of detail and great explanation of the "why" of each step. Thank you!
So glad to heat that. Thank You for watching.
Hey Reza, thank you for the reply. Do you think there is any other way to accomplish this? Other than using a component? Would a Concatenate of 3 different dropdowns work to write into a Date/Time Field?
@@cperry420 Possible! But I have not tried it :)
I literally don't know what I would do without your videos Reza. You have helped me to start getting PowerApps built and propagated across my company and changed my career path. Can't thank you enough for everything that you do!
Awesome! So happy to hear the videos are making a difference.
Thank You for watching & liking the videos.
This is so true!!
Thanks!
👍
This is why it is impossible to skip any of your videos. FANTASTIC FANTASTIC FANTASTIC tutorial/master class. Learnt a tonne about functions and functionality that I did not know I even needed to know about. Really incredible content Reza. Thank you. So real-world applicable and an absolute God-send. 🙏🏾
Wow, thank you!
Non-Coder here. It took me 4 hours to get through this 42 min video. So much value had to take it slow. I will now watch the rest of them. Thanks
Glad to hear you are getting through the complete video. It is packed in with a lot of content. Thank You for watching.
Awesome video Reza. The pace is perfect, and I'm particularly pleased that there is no "fluff" in the Video, everything is to the point. You're definitely the "go to" guy for PowerApps and Power Automate content.
Wow! Thank You so much.
When I set out making videos, that was my no 1 goal (no fluff) :)
15 days ago, I had zero knowledge on Powerapps. I started with Reza's video and truely speaking the way you described each and every situations are really to the point, and clean instructions. You are truely have great knowledge and you know how to pass it to others. Thanks Reza once again for your amazing learning videos..
Thanks so much for your kind words Rohan!
Made my day.
This is GENIUS and you are better at explaining what you're doing than ANYONE else doing tutorials. Thank you SO much for sharing this!
Very happy to hear the feedback.
Thank You Emily.
I'm so glad to have come across your video, I was lost in Microsoft purgatory. It seemed like every time I tried to create something I would end up with a headache and about fifty open internet pages. I own a small business and have always tried to push the boundaries. (which isn't hard because sadly most of my competitors are still using pencil and paper. ) I was starting to lose the faith in my company and myself because I knew we could do what I wanted to, but I couldn't get it to work. I spoke with MS and they put me in touch with multiple companies that wanted over 50k to do what I wanted, so I was about to tuck my tail and join the crowd until you finally showed me exactly what I was missing. I have gone back through sites and books and there wasn't a snowball's chance in hell, I would have ever figured it out without coming across your video. Thank you Thank you Thank you, can wait to learn more from you !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Makes me so happy to know the content is making a difference and being appreciated.
Thank You for watching the videos. I hope to keep contributing to the best of my abilities.
Hi Reza, this is the BEST Power Apps tutorial I have seen yet. This tutorial covers everything I was looking for and solves so many problems in terms of app speed and writing to the data source as little as possible!! Thank you so much!!
Great to hear! Thank you so much.
Reza, you’re opening a whole new universe to me. Already impacting my work. Thanks, man, and keep up the great job!
Thank You Euben
This is a masterclass! I have improved a lot in PowerApps because of your videos. Thank you, Rezza!
Great to hear!
Certainly the best video I've seen, and used I might add, on editable grid. As a bonus you added the option for adding a way to bulk-edit the records which was a nice touch, or very helpful in providing this requirement. You have some great videos that have enhanced what I already have, and have given me ideas for creating additional features to my existing apps. Thanks for the great videos and you now have another subscriber.
Thank You Jose for the appreciation and thanks for the sub
Wow! I’m so impressed, this solves SO many of my user requests. Thanks SO much!!! Now if I can figure out how to filter on different columns like in Excel, that would be fantastic!
Thank You. I did show a couple of filters in the video :)
Thanks Reza!
I was starting from scratch before christmas with powerapp with none/less IT Background. Your tutorials helped me a lot. Keep on doing such great videos!!!
Great to hear!
Thanks so much for watching & liking the videos.
Doing those in power apps seemed impossible... until today. Thank you Reza!!!
You're most welcome.
It's one of those videos that you watch and stand speechless at the end. Well done
Thanks so much
Hi Reza, this is fantastic👌
you have packed a lot of content in 42 minutes and I watched this for over 6 hours….I’m almost there 😅. Thank you for providing the how and the why!
Thank You 😊
Wow 6 hours :)
1 tip: there is a known issue with combo box control. Replace it with dropdown.
@@RezaDorrani 😅I’m done! My issue with patching is due to a metadata field that allows the creation of new terms by the user. I’ve searched but can’t find whether this is supported or not. I would appreciate your comment on this! Thanks again for such an amazing videos!
@@olgamelo4416 Not sure about managed metadata fields. They are more complicated to handle in Power Apps. Check ruclips.net/user/AudrieGordon
She did a few videos on managed metadata columns.
Thanks
Thank You
Fantastic video Reza, great work! Really comprehensive video, keep up the good work. Being a newbie I only got one minor issue which I managed to resolve, if anyone else faces this, its on the entering of values to a number field in sharepoint, it's worth a mention if it's a number format simply include value(field.Text) which will resolve the error.
Thanks Prakash! Great point on the number format using Value function.
@@RezaDorrani Thanks Reza, I had another business issue you may be able to help with. Basically, I have 4 textboxes (one for each quarter of the year) and a Total text box for the year. I was wondering how you can get the total text box to sum the value entered in each of the four boxes so that it totals automatically and populates the SharePoint list with the total of what has been entered when the user submits?
@@Reviews365 Use the CountRows function. I do not have a specific video on this scenario. Try giving it a shot and in case of issues, post your query with screenshots on forums at powerusers.microsoft.com/
Ha! I ran into that very issue when setting up my own version of this. A quick Google found the answer.
This is amazing. Thank you so much Reza. I saw another comment saying that your video's have changed their career path, and this is true for me also. I'm now teaching our own small group of citizen developers and if I find anything I don't know, I always search your videos first. I feel like getting a custom coffee cup with "Reza is my hero". You should sell them! I'd buy one! 😀
So happy to hear this! You are doing good work by teaching other citizen developers Fleur. Wish you all the best!
As long as I am a hero in people’s hearts, I am happy 😊
Wow, it is really great, I just started watching SharePoint list videos, your video is really very informative and good to know these features, please do post video like this. Thanks
Great to hear! Thanks for watching.
Reza you are my hero! Thanks a milion for your helpful videos! You have a solution to all my questions on Power App and as a beginner it is easy to follow you! Great pace and reeeeeeaaaaally useful explanations on why each step is needed. Simply great! Thank you!
Thank You so much for the appreciation!
Great, informative video as always. 👍 One downsize of such video format that I can like only once instead of 10 times per each chapter. Kudos to you.
Thank you so much.
Each chapter could have been its own video but I wanted to build a one stop shop for building Grids in Power Apps.
I wish I can hit 👍 10 times too! 😂
make sure you hit the 'like' odd number of times though ;-)
First, smash that like button and comment, Even RUclips likes Reza's content so it transcribes each word correctly while transcribing Hollywood's movie and native RUclipsrs English in some gibberish language 😄🙇. Very helpful for international non-English speakers .
Thank You so much. Happy to know that my speech & language are easy to understand.
Great informative video Reza! I truly appreciate the effort you put in to create such an excellent content as I can find everything what I can think of about Grids behaviour! Eagerly waiting for 2nd part of the video. Thanks a lot for sharing information 🙏
My pleasure!
Did not think of copying a datacard control to get the lookup i wanted with the data i needed in an editable grid via gallery. :D
Great tutorial, the results of this tutorial are a cut above the rest.
Great to hear!
Reza, this is just brilliant. You have a knack for explaining complex scenarios in a simple manner. What an asset you are to the community. Thank you.
Question: would there be an easy way to make this grid functionality reusable across multiple canvas apps? Perhaps as a component? I'm thinking it would be amazing if you could built the grid functionality once and then to reuse it across multiple apps, just supply it with the data source and bam all the columns and functionality are created automatically. How would one go about doing that?
Thank You.
I was thinking about component as well.
Challenge is the data types & columns, creating controls based on column schema on the fly etc.
Thank you Reza! You've made PowerApps development fun by covering some of the unchartered waters. Looking forward to more of your tutorials.
Awesome, thank you!
Thank you Reza. This tutorial is really insightful. I can't wait for the second part
Glad to hear that!
2nd part coming soon. I feel it is better than the first :)
@@RezaDorrani anxiously standing by... :D Amazing stuff you have done here!
@@csponge1 Part 2 is live ruclips.net/video/P6yqIpjmPrs/видео.html
Thanks for this video Reza, you really break down every detail of building powerapps so well. Just 2 questions pls: 1) if I have an ID and Attachments header, what would be the Default/DefaultSelectedItems input function (15:27)? Similarly, when creating the Patch, what would the functions for ID and attachments be?
Thank you!!
Attachments is not supported in Patch function.
ID is an inbuilt system column. You cannot specifically Patch it.
Thank you!
Awesome video Reza, well presented & great content. Helped me spin up a form in no time! Question : I have built an editable grid like yours (7 columns - 2 drop downs & 5 text boxes) however I am finding that after I edit a column and click on the next column I need to click on it twice - always. I have added the OnChange for each control to Select(Parent), and the gal onselect does the patch to the collection. Is there a setting somewhere that needs to be changed to allow the target column to receive the focus on a single click rather than clicking twice?
I am also facing the same issue. Any solution?
Workaround is to have 2 collections. colGridData is the collection you bind to the grid (items property). OnChange of grid values you update a different collection (colgriddatatemp). Once changes are saved, you patch colgriddatatemp to the data source and then reload colgriddata.
Workaround is to have 2 collections. colGridData is the collection you bind to the grid (items property). OnChange of grid values you update a different collection (colgriddatatemp). Once changes are saved, you patch colgriddatatemp to the data source and then reload colgriddata.
@@RezaDorrani Hello Reza, is there a video that explains this workaround or anywhere else i can see an example?
@@rbeltranl I do not have a video on it.
Simply the best tutorial I've ever watched.
Congratulations and thank you for your dedication!!
Wow, thank you!
Hi Reza, brilliant and amazingly simple approach for complicated task shown here, one of best tutorials I have seen for Powerapps. I tried to apply this for my case but I am running across one issue, for some reason the gallery is generating half empty row duplicates when grid screen is shown. Do you know what might be the issue?
Thanks Roman.
I believe if you save your App, close browser and then reopen app to edit, it should solve the problem.
Video description includes link to download sample App as well.
@@RezaDorrani Hey Reza. I know I'm a little late to the game as this was recorded a couple years ago, but I've just recently began my PowerApps journey. After 26 minutes in, I'm having issues and wanted to look at the App to see if it's just me. However, the App does not appear to be available when I click on the link. The ISSUE: Network error when using update function. The specified column is read only and can't be modified. Thanks for any help you can provide.
@@TrinaLHough The link is to my GitHub repo which is publicly accessible and very much working
@@RezaDorraniThanks so much for the response! I do see it now.
This is awesome Reza. I have been waiting for editable grid from long time. You are making us feel everything is possible with Power Apps. Great job as always.
Great to hear!
Hi Reza.
Love all of your videos. I've learnt everything about powerapps from you since last 1 month and currently working on a POC.
In this video at 17:00 when we set OnChange for all the gallery controls we set Select(Parent).
This thing is creating some issue for my app. When i play the app it keeps loading and loading for 1-2 minutes and nothing works.
Then i tried removing the OnChange code from all controls and it stopped happening.
I have 200+ records in my SharePoint list. Is this because i have huge data its loading so much?
Also i am getting errors inside the patch function OnSelect of gallery 17:10
"The type of this argument 'field_4' does not match the expected type "text".
Found type 'record'."
My column name is "Support group" in SharePoint list. I don't know why it says field 4 here. This issue is with all drop-down control.
I found a solution online which says. -
'Support group': Group.Selected.'Support group'
After adding the.'support group' in the end the error goes away but In this video you never used such syntax.
Do you have any resources i can refer to? And i am still confused why some column names on my collection is named as Foeld1.2.4 etc instead of the real column name.
Sorry for the long message but im really stuck here for days.
Thanks in advance ♥️
Thanks for watching & liking the videos.
Video description has link to download sample App.
There is a known bug with the comb box control. Replace it with drop down control in grid.
As for your issue(s), I will have to look at your App in action to provide guidance. I would recommend posting your issue/query with screenshots on the forums at powerusers.microsoft.com
I am facing the same issue with records duplication
@@Hbhammad you have to export the updated app from his git Repository. Then study and learn from that app. I did it and it helped me.
This is great, I've implemented this on one of my lists. I can now direct everyone to use the App over share point. Thanks Reza!
Fantastic! Thank You.
Extraordinary! Yet another exemplary video with succinct and clear explanations not only of the how, but just as importantly, the WHY. Top marks Reza.
Wow, thank you so much for the amazing feedback.
This is really a very good Tutorial where the video has been covered with through . Finally So much of content in just one video to learn implement and apply . I solemnly thank you for such a deep dive explination and I know the amount of work it would had taken to cover this whole topic in just 42 mins .
Glad to hear that! I did spend a lot of effort in this video.
The original video recording was around 2 hrs. and 15 mins.
I did a rehearsal prior to recording the video and built everything live on the fly.
This was AWESOME! Perfect pace , explanation, and details. I know this is a bit old but I just stumbled across it. I put it into one of my apps and the only issue I have is that my controls in the grid are mostly text boxes and tabbing between them isn't happy. I have to click twice in the box to be able to add/edit. I suspect that has something to do with the container and the onchange but this was a super cool video!
Thanks for watching and liking the video.
@@RezaDorrani again, thanks for the video. Any idea why the tab not behaving and I have to select textboxes twice in the container to enter?
@@davidtimm4382 No idea
@@davidtimm4382 I believe it is at you say, OnChange fires when tabbing to next control, the new value gets loaded to the control where the change happened, and powerapps loses focus of what you were tabbing to. something like that. I believe i saw a comment here somewhere about a workaround where you use two collections. One to display values, one to apply the changes... have not got it working yet myself tho.
So informative Reza. All your videos have always been the GO TO SOURCE for me. Thank you.
Happy to hear that!
No.1 fan here. You really got the POWERapps :)
Thank You 🙏
Awesome video! Thank you. I also appreciate your delivery method and speaking clearly for me to understand.
Most welcome
I finally created this one. Still have to play with the Slider. Overall, you're always amazing. I appreciate you!
You got this! Thanks for watching.
By watching and implementing the ideas from tutorial your videos, I am learning power platform so easily and I feel confident.
Wonderful! Thank You.
This is amazing! I love how you always give us caution about performance hits and use ways to make it better. Thank yoU!
You're so welcome!
Hi Reza, great video from you - again :) Best wishes from germany, awaiting lots of more videos like this!!!
Thank you! Will do!
Your videos are so awesome! I usually don't have any issues, but I think I might be doing something wrong on this one. My changes aren't saving to the SharePoint list when I hit the Exit Grid View, and I'm using that code provided: If(varGridEdit, Patch('NH Log -APP Testing', colGridData)); Select(btnLoadData); Set(varGridEdit, !varGridEdit). Also, multi select items are disappearing when I Exit grid view. Any ideas of what I may have missed?
Thank you for all the time and effort you put into helping us with Power Apps!
Thanks!
I have not experienced the mentioned issue and hence not sure what is the cause or fix for it. I will recommend posting your issue with screenshots on the forums at powerusers.microsoft.com in case someone has experienced something similar.
Thanks Reza. Excellent video. Dense with useful information, clear presentation. Bravo. I'm going to implement this and give it a try.
Thank You so much
Fantastic video Reza! Thanks for your expertise and coaching with these videos! It is MUCH APPRECIATED!!! :)
Your most welcome.
Reza - Thank you so much for the clear and concise details. You will have to forgive though, as I have more than likely missed something that is important. I have recreated an editable responsive grid for prototyping to a customer and find that it is not updating my SharePoint list. In brief, it retrieves the correct data when the screen loads, it allows me to enter a data change, and when clicking Exit grid view it appears to do the update but actually does not. I verify that in the SP List. Oddly, the Load button does show activity when the the app leaves the grid view, so i am not sure where my disconnect is. Any thoughts would be appreciated.
Video description has link to download sample app.
As for your issue, I will have to look at your App in action to provide guidance. I would recommend posting your issue/query with screenshots on the forums at powerusers.microsoft.com
Hi, Reza! Great tutorial! I'm wondering, what would be the process if the column is an Attachment? I've been having issues doing that following this tutorial. Thank you in advance!
Thanks!
Patch function does not support attachments.
You can check this video where in I combine gallery with form for attachments ruclips.net/video/HHXKfB1iAH4/видео.htmlsi=fSwJEV8xhTE2CeGH
@@RezaDorrani Thank you for quick revert!
@@RezaDorrani I am watching the link you've provided. Thank you! from the bottom of my heart.
Great Video and Content. and the way you explain is really awesome and that is why I don't want to miss any videos.
Happy to hear that!
Awesome... You just helped me with an idea for something in my org and yes looking forward for many more videos...Keep them coming...cheers👍
Glad to hear it!
Mixing this tutorial and the newer one with modern controls, I am pretty sure that I can build my grid. Thanks a lot.
Great to hear!
This is simply superb and great to see the possibilities with PowerApps. Thanks Reza
My pleasure!
Thank you so much for this tutorial Reza, you are such a fantastic teacher. I think I've watched this video about 100 times while building my grid!
I'm having problems with the grid adding multple unwanted rows - how can I fix this?
If you have watched 100 times then you should get it to work :)
Check video comments. Dont use combo box control. Use dropdown.
Also video description or pinned comment has link to download sample app
@@RezaDorrani I don't know what to say. I have only the greatest respect for you and your work and I , in fact, recently joined your bronze level. However, I have spent an inordinate amount of time trying to ensure that I'm following your instructions to the letter so I can be productive and get this great project right. Finally, I decided to search through all these notes only to find that a large number of people are having issues with duplicate rows; ghost rows, etc. I see you did have a counter measure to resolve that in a few places that I'll have to now try to figure out.
I also see you mentioned combo boxes were an issue; to switch to dropdowns. I purposely avoided combo boxes due to their complexity and have only three dropdowns and I'm getting duplicate records.
Actually, I started this project working with your Modern control grid only to find out that some of those controls are not fully fleshed out yet which is why I switched to this one.
In my opinion, you should put some type of disclaimer on this video -- at the top in comments in bold -- or add some type of modification -- or immediately note the work around -- to resolve this duplicate row issue. People should know there may be a glitch right off. We are not all experts trying to work this out; we're trying to learn and do, in fact, trust your work.
You are THE BEST! That won't change, but better communication on this video would have saved me an tremendous amount of time. You see, I trusted that following your video to the letter -- I could not go wrong. Now I find it is not my fault -- there is, in fact, an issue -- somewhere.
Thanks for your listening and understanding. ( In retrospect -- apparently I did know what to say.)
@@cztop54 Thanks for sharing detailed feedback. Much appreciated.
This video is definitely not designed for beginners and has in no way been called out in video.
Many a times we make videos and then things change in product. But the video cannot be changed.
Changing video title or description is not an option either as YT kills the relevancy for that video.
Comments is the best option to communicate and I can only have 1 pinned comment.
The duplicate issue is only due to combo box. If facing issue without combobox then something is definitely not wired correctly in App.
I have responded to every comment to try and guide people in right direction. I have also shared the entire app for folks to look at the code.
I would love to sit down with each and everyone and try resolve their issues but that is not possible :)
@@RezaDorrani Thanks for the explanation and considering my thoughts.
Another great video, it is amazing how quickly you can build a CRUD application with PowerApps.
Thanks Matt!
Really helpful.Thanks for the video. When we are using tab button of the keyword. Headers are not aligned as per the gallery columns. Pls assist me in this.
I did a more recent video on editable grid that has a technique that works well with Tabs. You can check that one.
@@RezaDorrani pls share the link and also that works well with slider control.
@@analyticsadda6080 Please check on my videos list. It is not hard to find :)
I even have a playlist on grids.
Thanks again Reza,
I also noted that towards the end of the video around 41 minutes, that you utilized some options of using the button to bulk copy or delete the collections. So, I was wondering if there are videos that showcase how those options were programmed.
Regards
All videos are on my channel and publicly available :)
Here is the link ruclips.net/video/P6yqIpjmPrs/видео.html
Another awesome video Reza. You’re the best 👍🏼
Thank You
Another great vid by Reza, its been a wonderful experience. Thanks again 👌👌
Most welcome. Thanks for watching this one
FANTASTIC tutorial
Thank you! Cheers!
Dear Reza, Thank you for this brilliant tutorials, Is there a way to add attachments to this?
Attachments are not supported in Patch function.
@@RezaDorrani thank you very much for the quick response sir.
This is a great video! I am having a few issues with some of the functions. Although I followed the instructions to the letter, the Delete button does not work. Also in the Update record function I keep getting the error message "Cannot use a non-record value in this context: UpdateIf(colGrid, Created = Blank(), {ID:Blank()})"
Thanks!
I have not experienced this issue and hence not sure what is the cause for your issue. I recommend posting your issue/query with screenshots on the forums at powerusers.microsoft.com
Cannot thank you enough for these videos, the way you explain and make it easy to understand is just amazing….
I have a question once I do changes using this editable grid app, will I be able to see those changes, updates and copied items in the original share point list, I guess the answer is yes but would like to confirm 🙂
Thank You for watching and liking my videos.
Answer is Yes. I even have a bulk updates based video on similar lines. Check ruclips.net/video/P6yqIpjmPrs/видео.html
@@RezaDorrani thank you for responding, im trying to display a couple of columns from my sharepoints that contains formula (concanate and sums) but the option Default or Default Selected items does not show up for these, do you know which property i can use?
@@caro1853 Not sure about that. Something that I would have to try out to provide guidance. I will recommend checking on the forums at powerusers.microsoft.com/
Really enjoy watching your videos! Could you explain why you are using buttons instead of text labels for the grid header?
Initially I had plans to make them clickable (sorting) but did not have the time in video to showcase that.
@@RezaDorrani that would have been very interesting to see, did you ever make a video for that?
@@kevindiu9626 No.
excellent video indeed, new techniques, every video you had posted I had learn something new thanks for sharing, keep it up.
Great to hear! A lot more to come.
Very good video , the only way to get an editable grid on a canvas app pointing to a SharePoiint list . Very valuable , could not have developed that myself from scratch !
Glad it was helpful!
Hi Reza, thanks for sharing this method. Question: Do you have a workaround to retain keyboard tab index functionality with the use of OnChange for the input controls? I find that the OnChange event causes the input control to lose focus so that you can't tab through fields to type data. In fact, even the first mouse click into the next input field after typing a change in the previous field will lose focus.
Workaround is to have 2 collections. colGridData is the collection you bind to the grid (items property). OnChange of grid values you update a different collection (colgriddatatemp). Once changes are saved, you patcch colgriddatatemp to the data source and then reload colgriddata.
Do you have a sample of the "OnChange" grid values that are updated with the colgriddatatemp example? Is that assigned to each input control's OnChange or by an if/then statement on the items property of the gallery?
@@annettemassie1962 I do not have an example of that.
@@RezaDorrani Thanks for the tip! That method works. I've described how I implemented in a reply to Annette Massie below.
@@annettemassie1962 With all other things being the same as Reza's video, here are the changes I made to implement the 2nd collection feature that restores Tab index/mouse click expected behavior after OnChange() events.
The LOADDATA button can have two ClearCollect() statements:
ClearCollect(colGridData, 'Data Source Name');
ClearCollect(colGridDataTemp, colGridData)
Then, on the Gallery's OnSelect() formula which has your Patch statement for the current grid record, (triggered by the OnChange() of each input field), you patch changes into the colGridDataTemp collection instead of colGridData. (Side note: You asked about having the Patch in the OnChange() of each input field -- yes you can optionally do that instead of having it on the Gallery and in that case each Patch() statement in the OnChange() of the input field should only patch that same input field's property instead of all properties. This offers better performance if you are patching a lot of columns in your grid.)
EDIT/EXIT GRID BUTTON: Patch statement would patch the colGridDataTemp (modified collection) back to the data source, instead of colGridData.
NEW BUTTON: You will also want to update your New button's formula with a couple of lines: 1 to synchronize colGridData and colGridDataTemp BEFORE adding the new item just in case the user has made changes to existing items before they click the New button, because adding an item to colGridData will refresh the Gallery which will not be displaying the modifications they made. The 2nd comes AFTER the Collect(colGridData... statement and collects the same new item into the colGridDataTemp -- it must have the same unique ID for records to remain in sync. (Note this simple method only works if you're creating 1 new item at a time when the New button is clicked.) My New button formula looks like:
// sync colGridData with modified collection in case user made edits to existing records before adding new item
ClearCollect(colGridData, colGridDataTemp);
// add new record
Collect(colGridData, Patch(varNewRecord, {ID: varNumber}));
// add same new record to Temp/modified collection
Collect(colGridDataTemp, Last(colGridData))
DELETE BUTTON: Similarly, you'll want to have 2 Remove() statements to remove items from both colGridData and colGridDataTemp.
Remove(colGridData, colSelected);
Remove(colGridDataTemp, colSelected);
Collect(colDelete, colSelected);
Clear(colSelected)
Great Video! I do have one question though. What about patching from another collection and putting it on the colGridData?
As long as the schema of your collection matches you can always collect data from second collection into colGridData and patch as normal.
Collect(colGridData, col2)
@@RezaDorrani wow I never knew you will reply. You're the first one to reply on my comments. Thanks! I will try it😀
Reza, thans for this excellent master class. I have a doubt. This example update all the records to datasource every time? event though you only updated 1 record? is it this?
I have done 4-5 grid videos so do not remember the technique shown here. My newest grid video (all placed in playlist) only updates selected items.
Great video and explanation. Really helpful. Thanks Reza as always!
Glad you liked it!
This was so well done! Thank you for sharing your knowledge with us!
Most welcome
You are simply amazing Reza. Thanks for the wonderful content. May god bless you!
Thank you! You too!
@@RezaDorrani Can we create hierarchies in our grid columns, like the ones we have in Power BI Matrix visuals?
We have the small +/- symbols before them and they expand when we go for + and contract when we select - .
@@apoorvsharma2087 Not an option with these grids.
@@RezaDorrani Thanks Reza. Help much appreciated.
Hi Reza - sorry to disturb you again.
I am working with some calculations here and everything works perfectly so far, all thanks to you.
The only issue that I am facing is that once I change an independent variable using Power Apps, other visuals show the change in derived calculations once I refresh from Power BI Desktop but the Power App Grid only shows the changed value of the independent variable - the derived calculations don't change in the Power Apps Grid.
Everything is changing correctly at the backend - but not in Power Apps Grid. Only the value that we change is changing in Power Apps, associated calculations are not. Is there some way around this ?
I hope I'm able to get my point across.
As always, thank you so much for everything.
Absolutely awesome! Thank you very much! Do you show how to do the variant seen at the end anywhere?
Thank You.
The variant is in my latest video - ruclips.net/video/P6yqIpjmPrs/видео.html
So useful! I will be trying this out today on a project I am working on. Thank you very much.
Bets of luck. Video description has link to download sample App. Give that a try. Also there is a bug with combo box control so make sure to replace it with drop down control.
@@RezaDorrani Yes, I found that yesterday. Something about not being available for evaluation? Also, can you explain how you can move things freely around in your header? I have just tried this and I am unable to resize or move anything?
@@RezaDorrani Sorry one last thing! How can you 'use' the buttons without previewing the app? You seem to be able to execute the buttons?
@@CarFinanceSimplified I have explained that in video. Try sample app in video description.
@@CarFinanceSimplified Hold the Alt key
Very interesting video - thanks for sharing this presentation
Thanks for watching
Very helpful video. Thank you Reza. Looking forward to Part 2
My pleasure! I will be working on bulk update features soon.
Hi Reza, amazing video thank you. I am having trouble with the colgriddata in the patch function, it is saying its a table and not a record value. That it must be a record value. Do you know what this could be?
I see. I stopped getting that error when I changed the sharepoint list that it is patching too. I am using a different list in the gallery than I am where I want to store the information. Can I do that?
Video description or pinned comment has link to download sample App. You can give that a try.
I have not come across the mentioned issue and not tried with a different list scenario and hence not sure what is the cause for your issue. I recommend posting your issue/query with screenshots on the forums at powerusers.microsoft.com
Thank you for your quick response! I got it :) Your videos really help me a lot!@@RezaDorrani
Really hot tutorial !!!!!!!! Thx !
I have a question though... When I pass in Edit grid view, if I change something or click in a control, the first line is repeting itself few time at the bottom of my list...
I don't know why... Do you ?
Thx in avance.
Good job man ! it's a life/time saver !!! 😁
Thanks so much!
Issue is related to combo box control. Replace it with dropdown.
I have also done newer grid-based videos which shows advanced techniques. You can check those as well.
You mean combobox 1 line by a dropdown and combobox multilines by a list box? And why it don't happen with your grid? You have combobox... I try to understand the issue. Thx!
@@DominicDion You can try downloading my app and checking. Link is in video description or pinned comment.
@@RezaDorrani Hi very good tutorial but I have the same problem the first line is repeating itself few time at the bottom of my list- I have text column and choices column.
@@marcinm.1943 My response would be the same :)
I have done newer grid based videos. You can look at them and see if that works for you.
Copy of the item was amazing ! Thankyou for such informative video 😃
My pleasure 😊
Adding to this point so can we copy these line of items into another screen ? Let’s say we have a main gallery which stores some key field of these line items and we have the copy icon on the gallery so when we click on the copy it may navigate to a new screen which shows the same line items ? Is this scenario possible . Can we use a condition in the items property of the gallery control ?
@@aishwaryagorthi5288 Possible. You can use conditions in gallery items property.
Another priceless content. Thank you, Reza !!!
Most welcome
Great video Reza! I really appreciate your approach to solving the various challenges with data collection. Would you recommend this method for a multiuser environment where someone maybe editing a record at another workstation?
Multiuser can work. For that though a lot more work is required. When patching, you would need to check if record was updated by another user, if yes then do not patch and notify user about changes.
Another excellent video Reza! Count me as fan! Question though, with that current issue with ComboBox's OnChange, do you have a workaround? I have to use ComboxBox in my scenario as I need its search functionality for multiple columns as I have another SP list as a data source for it. Thanks!
I do not have a specific workaround for it. Someone did comment a workaround in the comments for this video but it seemed complex.
Hi there! Thank you for this video - it's great and super helpful! I have one question... is it possible to start with a blank gallery with the intention of only adding items to the sharepoint list, not needing to change any existing items? That is my end goal. thank you!!
It is possible. You would have to change logic of grid though to only work with new items. Not load data from data source into collection.
I do not have a step by step guide on that scenario though. Give it a try and in case you run into issues I would recommend posting the issue with screenshots on the forums at powerusers.microsoft.com
@@RezaDorrani Thanks so much for getting back to me! That's what I was thinking too. Do you suggest putting a filter on the gallery to somehow only show new items? Or do you suggest somehow filtering the collection? Thanks again.
@@jamiehandelman1566 You should not be loading existing items from data source.
@@RezaDorrani This actually ended up being a lot simpler to do than I was making it out to be! For future reference, on the hidden button on the page (mine is called button2, this is the button that is selected when the edit in grid view button is selected), instead of using the ClearCollect function, you just have to use Clear(CollectionName).
@@jamiehandelman1566 👍
Hi Reza. Very informative and useful. Thank you so much. By the way, 1 question, after adding 13 rows, it no longer adds or saves additional rows. Why is that? I might have missed something.
I dont think there is any such limit of 13 rows. Might be something to do with height of gallery or something in your case.
I will have to look at your App in action to provide guidance. I would recommend posting your issue/query with screenshots on the forums at powerusers.microsoft.com
@@RezaDorrani Actually, it is saving in the source but not showing in the gallery. :) Thank you.
@@edzierufo6499 Forums will be your best bet.
Hi Reza thank you very much for another great content. But I have an question for you. i followed exactly what you presented however when i click edit button it multiplies and duplicates the oldest entry three times.
Duplicates are due to a bug with combo box which triggers its onchange event whenever the gallery is refreshed. Replace it with dropdowns.
Hey Tahsin , have you fixed your issue?? I am also facing this..
Hi Reza, great video! I don't know if this question has already been answered. The only problem I have with this approach is that when I use the tab key to go to the next label, I have to press the tab key twice. After the first press, the onchange triggers to save/update the item in the collection. I was wondering if you have a solution for this?
There are a few comments on this.
Workaround is to have 2 collections. colGridData is the collection you bind to the grid (items property). OnChange of grid values you update a different collection (colgriddatatemp). Once changes are saved, you patcch colgriddatatemp to the data source and then reload colgriddata.
Reza this is so powerful great pace and quality of instruction - Right at the end of the video you showcased a 'second version of the grid with the ability to update multiple records with a priority' where can I check this version out?
Thanks Mike.
The bulk update version is here ruclips.net/video/P6yqIpjmPrs/видео.html
Great tutorial Reza. Suppose I wanted the 'Onselect' of 'Finish Date' to fill a text field with User().FullName. I have tried a few things but it updates all the rows with this change?
Thanks.
Your issue is probably because you are not updating the current row. I will have to try it to know the formula. I recommend posting your query on forums powerusers.microsoft.com
@@RezaDorrani thanks, got it in the end with IF functions on the text field.
Hi Reza, Thank you for the video.
I have a question, does this methodology works with excel online workbooks intead sharepoint lists?
It should work but I have not tried with excel.
I have tried with SQL and Dataverse and has worked successfully.
Great informative video, really well explain and you make it super easy to follow. I wondering if I missed something... do you know if it is possible to move the header with the grid if the user tabs outs via the keyboard, I have about 20 columns, the slider is working, which is great but if you tab out of the input boxes and it goes off screen, the grid moves but the header doesn't.
The header is kind of fixed. Not sure if there is an option to move the header with the tab behavior.
Hi Reza, Thank you so much for this beautiful video which covers all technical aspects needed for developing editiable grid. I developed similar grid based on this Video and I am able to perform all the crud operation without any issue. But the only problem I do see here is my editiable grid is creating a blank record in collection , on every event (selecting date from date picker, updating the existing row, Selecting value from filter ). On final save this blank record is passed to source as well. Can you please suggest if I have missed any additional step?
Video description has link to download sample App.
Remove combo boxes and replace with dropdown as combo box has a known bug.
If issue still exists, I recommend posting your issue/query with screenshots on the forums at powerusers.microsoft.com
@@RezaDorrani thank you , after replacing with dropdown list it is working well on all text and drop-down fields except the Date picker. On selecting the Date, the new record is getting inserted into collection as like it was doing with combo box
@@rajashekarbasarveni1951 Should not be the case with dates. Try downloading sample app (link in video description) or post your issue on forums.
Reza, thanks for excellent master class. I have a doubt. This example update all the records to datasource even though you, for example, changed only 1 record. is it this ?
I have done 4-5 grid videos so do not remember the technique shown here. My newest grid video (all placed in playlist) only updates selected items.
Awesome video! I woulfd like to know if it would be possible to add a buttom to reset the form at the end of the day, but still have the information saved on the sharepoint list.
Info is saved in your data source. If you want form to reset daily, you will need to apply filter logic and handle many other conditions.
I do not have a specific video on this scenario & it is something I would have to try out to provide guidance.
I would recommend posting your query with screenshots on the forums at powerusers.microsoft.com. May be someone has done something similar.
Great stuff. You are truly amazing Reza!! Just wondering if there's away to add SharePoint attachment listed in the editable grid collection, add an attachment to the grid collection just like the way you add other columns and update SP list. Thanks
List attachments are not supported in Patch function hence not included it in video.
@@RezaDorrani Thanks for your quick response. Do you have any other videos proving ideas as workarounds to deal with List attachments?
@@sumalj Probably. Check my playlists.
Awesome Reza...I am addicted of your videos. 👍
Wow! Thanks.