Skip to content

Commit

Permalink
Merge pull request #22 from shaheerahmadch/Editable-Subgrid-Template
Browse files Browse the repository at this point in the history
Editable Subgrid template
  • Loading branch information
Katerina-Chernevskaya authored Oct 10, 2023
2 parents c598d5b + 4ff4eec commit 27b4f8a
Show file tree
Hide file tree
Showing 71 changed files with 20,864 additions and 0 deletions.
74 changes: 74 additions & 0 deletions samples/Editable-Subgrid/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# Editable Subgrid Power App Sample

## Summary

The Editable Subgrid Power App sample is a contribution by Shaheer Ahmad (GitHub: shaheerahmadch) that demonstrates how to create a Power App with an editable subgrid, allowing users to efficiently manage and update data within a grid interface. This sample is designed to showcase best practices for building user-friendlyPower Apps.

![Preview](./assets/preview.png)


## Applies to

![Power Apps](https://img.shields.io/badge/Power%20Apps-Yes-green "Yes")

## Compatibility
![Premium License](https://img.shields.io/badge/Premium%20License-Required-green.svg "Premium license required")
![Experimental Features](https://img.shields.io/badge/Experimental%20Features-No-red.svg "Does not rely on experimental features")

## Contributors

* [Shaheer Ahmad](https://github.com/shaheerahmadch)

## Version history

Version|Date|Comments
-------|----|--------
1.0|September 05, 2023|Initial release

## Prerequisites

None

## Data Sources

None

## Minimal Path to Awesome

1. [Download](./solution/chat-canvas-application.zip) the solution `.zip` from the `solution` folder.
2. Within **https://make.powerapps.com**, import the `.zip` file via **Solutions** > **Import solution** > **Browse** and select the `.zip` file you just downloaded.
3. Follow the on-screen instructions to deploy the application.
4. Access the Incident Reporting Canvas App and start reporting incidents.

## Using the Source Code

You can also use the [Power Apps CLI](https://aka.ms/pac/docs) to pack the source code by following these steps:

1. Clone the repository to a local drive.
2. Pack the source files back into `.zip` file:
```bash
pac solution pack --folder pathtosourcefolder --zipfile pathtosolution --processCanvasApps
```

## Features

* Editable Subgrid: The core feature of this Power App sample is an editable subgrid that displays a list of items with editable fields. Users can easily update data directly within the grid, streamlining the data management process.

* Efficient Data Manipulation: Users can quickly edit individual fields, which are then updated in real-time without requiring page reloads or additional navigation.


## Help

We do not support samples, but this community is always willing to help, and we want to improve these samples. We use GitHub to track issues, which makes it easy for community members to volunteer their time and help resolve issues.

If you encounter any issues while using this sample, you can [create a new issue](https://github.com/pnp/powerapps-samples/issues/new?assignees=&labels=Needs%3A+Triage+%3Amag%3A%2Ctype%3Abug-suspected&template=bug-report.yml&sample=editable-subgrid&authors=@shaheerahmadch&title=editable-subgrid%20-%20).

For questions regarding this sample, [create a new question](https://github.com/pnp/powerapps-samples/issues/new?assignees=&labels=Needs%3A+Triage+%3Amag%3A%2Ctype%3Abug-suspected&template=question.yml&sample=editable-subgrid&authors=@shaheerahmadch&title=editable-subgrid%20-%20).

Finally, if you have an idea for improvement, [make a suggestion](https://github.com/pnp/powerapps-samples/issues/new?assignees=&labels=Needs%3A+Triage+%3Amag%3A%2Ctype%3Abug-suspected&template=suggestion.yml&sample=editable-subgrid&authors=@shaheerahmadch&title=editable-subgrid%20-%20).

## Disclaimer

**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**

<img src="https://m365-visitor-stats.azurewebsites.net/powerplatform-samples/samples/editable-subgrid" />
Binary file added samples/Editable-Subgrid/assets/preview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
79 changes: 79 additions & 0 deletions samples/Editable-Subgrid/assets/sample.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
[
{
"$schema": "https://developer.microsoft.com/en-us/json-schemas/pnp/samples/v1.0/metadata-schema.json",
"name": "pnp-powerplatform-samples-editable-subgrid",
"version": "1.0.0.0",
"source": "pnp",
"creationDateTime": "2023-09-05T00:00:00.000Z",
"updateDateTime": "2023-09-05T00:00:00.000Z",
"title": "Editable Subgrid Power App Sample",
"shortDescription": "The Editable Subgrid Power App sample is a contribution by Shaheer Ahmad (GitHub: shaheerahmadch) that demonstrates how to create a Power App with an editable subgrid, allowing users to efficiently manage and update data within a grid interface.",
"longDescription": [
"The Editable Subgrid Power App sample is a contribution by Shaheer Ahmad (GitHub: shaheerahmadch) that demonstrates how to create a Power App with an editable subgrid, allowing users to efficiently manage and update data within a grid interface."
],
"url": "https://github.com/pnp/powerplatform-samples/tree/main/samples/editable-subgrid",
"products": [
"Power Apps",
"Power Platform"
],
"tags": [
"Subgrid"
],
"categories": [
"POWERAPPS"
],
"metadata": [
{
"key": "POWERAPPS-MANIFEST-VERSION",
"value": "0.20"
},
{
"key": "POWERAPPS-TYPE",
"value": "Canvas"
},
{
"key": "POWERAPPS-EXPERIMENTAL",
"value": "No"
},
{
"key": "POWERAPPS-PREMIUM",
"value": "Yes"
},
{
"key": "POWERAPPS-ONPREM",
"value": "No"
},
{
"key": "POWERAPPS-CUSTOMCONNECTOR",
"value": "No"
}
],
"thumbnails": [
{
"type": "image",
"order": 100,
"url": "https://github.com/pnp/powerplatform-samples/blob/main/samples/editable-subgrid/assets/preview.png?raw=true",
"alt": "Preview"
}
],
"authors": [
{
"gitHubAccount": "shaheerahmadch",
"name": "Shaheer Ahmad",
"pictureUrl": "https://github.com/shaheerahmadch.png"
}
],
"references": [
{
"name": "Overview of creating apps in Power Apps",
"description": "Overview of creating apps in Power Apps",
"url": "https://learn.microsoft.com/en-us/power-apps/maker/"
},
{
"name": "Power Apps canvas apps documentation",
"description": "Power Apps canvas apps documentation",
"url": "https://learn.microsoft.com/en-us/power-apps/maker/canvas-apps/"
}
]
}
]
Binary file not shown.
8 changes: 8 additions & 0 deletions samples/Editable-Subgrid/sourcecode/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# msbuild output directories
/bin
/obj

# MSBuild Binary and Structured Log
*.binlog
54 changes: 54 additions & 0 deletions samples/Editable-Subgrid/sourcecode/Subgrid.cdsproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<PowerAppsTargetsPath>$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\PowerApps</PowerAppsTargetsPath>
</PropertyGroup>

<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" />
<Import Project="$(PowerAppsTargetsPath)\Microsoft.PowerApps.VisualStudio.Solution.props" Condition="Exists('$(PowerAppsTargetsPath)\Microsoft.PowerApps.VisualStudio.Solution.props')" />

<PropertyGroup>
<ProjectGuid>db66d78a-0636-47c6-843d-000e90d3209e</ProjectGuid>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<!--Remove TargetFramework when this is available in 16.1-->
<TargetFramework>net462</TargetFramework>
<RestoreProjectStyle>PackageReference</RestoreProjectStyle>
<SolutionRootPath>src</SolutionRootPath>
</PropertyGroup>

<!--
Solution Packager overrides, un-comment to use: SolutionPackagerType (Managed, Unmanaged, Both)
Solution Localization Control, if you want to enabled localization of your solution, un-comment SolutionPackageEnableLocalization and set the value to true. - Requires use of -loc flag on Solution Clone or Sync
-->
<!--
<PropertyGroup>
<SolutionPackageType>Managed</SolutionPackageType>
<SolutionPackageEnableLocalization>false</SolutionPackageEnableLocalization>
</PropertyGroup>
-->

<ItemGroup>
<PackageReference Include="Microsoft.PowerApps.MSBuild.Solution" Version="1.*" />
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0" PrivateAssets="All" />
</ItemGroup>

<ItemGroup>
<ExcludeDirectories Include="$(MSBuildThisFileDirectory)\.gitignore" />
<ExcludeDirectories Include="$(MSBuildThisFileDirectory)\bin\**" />
<ExcludeDirectories Include="$(MSBuildThisFileDirectory)\obj\**" />
<ExcludeDirectories Include="$(MSBuildThisFileDirectory)\*.cdsproj" />
<ExcludeDirectories Include="$(MSBuildThisFileDirectory)\*.cdsproj.user" />
<ExcludeDirectories Include="$(MSBuildThisFileDirectory)\*.sln" />
</ItemGroup>

<ItemGroup>
<None Include="$(MSBuildThisFileDirectory)\**" Exclude="@(ExcludeDirectories)" />
<Content Include="$(SolutionPackageZipFilePath)">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>

<Import Project="$(MSBuildToolsPath)\Microsoft.Common.targets" />
<Import Project="$(PowerAppsTargetsPath)\Microsoft.PowerApps.VisualStudio.Solution.targets" Condition="Exists('$(PowerAppsTargetsPath)\Microsoft.PowerApps.VisualStudio.Solution.targets')" />

</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<CanvasApp xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Name>sha_subgrid_8aeeb</Name>
<AppVersion>2023-05-09T10:33:43Z</AppVersion>
<Status>Ready</Status>
<CreatedByClientVersion>3.23044.15.0</CreatedByClientVersion>
<MinClientVersion>3.23044.15.0</MinClientVersion>
<Tags>{"primaryDeviceWidth":"1366","primaryDeviceHeight":"768","supportsPortrait":"true","supportsLandscape":"true","primaryFormFactor":"Tablet","publisherVersion":"3.23044.15","minimumRequiredApiVersion":"2.2.0","hasComponent":"false","hasUnlockedComponent":"false","isUnifiedRootApp":"false","sienaVersion":"20230509T062603Z-3.23044.15.0"}</Tags>
<IsCdsUpgraded>0</IsCdsUpgraded>
<GalleryItemId xsi:nil="true"></GalleryItemId>
<BackgroundColor>RGBA(0,176,240,1)</BackgroundColor>
<DisplayName>Subgrid</DisplayName>
<Description xsi:nil="true"></Description>
<CommitMessage xsi:nil="true"></CommitMessage>
<Publisher xsi:nil="true"></Publisher>
<AuthorizationReferences>[]</AuthorizationReferences>
<ConnectionReferences>{}</ConnectionReferences>
<DatabaseReferences>{"default.cds":{"databaseDetails":{"referenceType":"Environmental","environmentName":"default.cds","overrideValues":{"status":"NotSpecified"}},"dataSources":{"Students":{"entitySetName":"sha_studentses","logicalName":"sha_students"},"Bulk Delete Failures":{"entitySetName":"bulkdeletefailures","logicalName":"bulkdeletefailure"}}}}</DatabaseReferences>
<AppComponents>[]</AppComponents>
<AppComponentDependencies>[]</AppComponentDependencies>
<CanConsumeAppPass>1</CanConsumeAppPass>
<CanvasAppType>0</CanvasAppType>
<BypassConsent>0</BypassConsent>
<AdminControlBypassConsent>0</AdminControlBypassConsent>
<EmbeddedApp xsi:nil="true"></EmbeddedApp>
<IntroducedVersion>1.0</IntroducedVersion>
<CdsDependencies>{"cdsdependencies":[{"logicalname":"sha_students","componenttype":1},{"logicalname":"bulkdeletefailure","componenttype":1}]}</CdsDependencies>
<IsCustomizable>1</IsCustomizable>
<BackgroundImageUri>/CanvasApps/sha_subgrid_8aeeb_BackgroundImageUri</BackgroundImageUri>
<DocumentUri>/CanvasApps/sha_subgrid_8aeeb_DocumentUri.msapp</DocumentUri>
</CanvasApp>
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"Content": "Image",
"FileName": "/ctrllib/image/images/SampleImage.svg",
"IsSampleData": true,
"IsWritable": false,
"Name": "SampleImage",
"Path": "/ctrllib/image/images/SampleImage.svg",
"ResourceKind": "Uri",
"RootPath": "ms-appx:///ctrllib/image/images/SampleImage.svg",
"Schema": "i",
"Type": "ResourceInfo"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
{
"FormatVersion": "0.24",
"Header": {
"DocVersion": "1.330",
"MinVersionToLoad": "1.327",
"MSAppStructureVersion": "2.0"
},
"Properties": {
"AppCreationSource": "AppFromScratch",
"AppDescription": "",
"AppPreviewFlagsMap": {
"aibuilderserviceenrollment": false,
"allowmultiplescreensincanvaspages": false,
"appinsightserrortracing": false,
"appinstrumentationcorrelationtracing": false,
"asyncnodedelegation": false,
"autocreateenvironmentvariables": false,
"backfromhostaction": false,
"behaviorpropertyui": false,
"blockmovingcontrol": true,
"cdsdataformatting": false,
"classiccontrols": false,
"consistentreturnschemafortabularfunctions": true,
"copyandmerge": false,
"datatablev2control": true,
"dataverseactionsenabled": false,
"delaycontrolrendering": true,
"delayloadscreens": true,
"disablecdsfileandlargeimage": false,
"dynamicschema": false,
"enableappembeddingux": false,
"enablechatbotfeature": false,
"enablecomponentnamemaps": false,
"enablecomponentscopeoldbehavior": false,
"enablecopilotcontrol": false,
"enabledataverseoffline": false,
"enableeditcacherefreshfrequency": false,
"enableexcelonlinebusinessv2connector": true,
"enableexperimentaldataverseoffline": false,
"enableideaspanel": true,
"enablelegacybarcodescanner": false,
"enableonstart": true,
"enableonstartnavigate": false,
"enablepcfmoderndatasets": true,
"enablepowerautomatepane": true,
"enablerowscopeonetonexpand": false,
"enablerpawarecomponentdependency": true,
"enablerulespanel": false,
"enableruntimepolicies": false,
"enablesaveloadcleardataonweb": false,
"enhanceddelegation": true,
"enhancedgalleryinitialization": true,
"errorhandling": true,
"excelcompatibility": false,
"expandedsavedatasupport": true,
"exportimportcomponents2": true,
"externalmessage": false,
"fluentv9controls": false,
"fluentv9controlspreview": true,
"formuladataprefetch": true,
"formularepair": false,
"generatedebugpublishedapp": false,
"herocontrols": false,
"improvedmediacapture": false,
"improvedtabstopbehavior": false,
"impurenodedelegation": false,
"keeprecentscreensloaded": false,
"longlivingcache": false,
"mobilenativerendering": false,
"namedformulas": false,
"nativecdsexperimental": true,
"onegrid": false,
"optimizedforteamsmeeting": false,
"packagemodernruntime": false,
"parallelcodegen": false,
"pdffunction": false,
"powerfxdecimal": false,
"projectionmapping": true,
"reactformulabar": false,
"reliableconcurrent": true,
"reverttooldpowerautomate": false,
"rtlinstudiopreview": false,
"rtlsupport": false,
"supportcolumnnamesasidentifiers": false,
"tabledoesntwraprecords": true,
"untypedobject": false,
"usedisplaynamemetadata": true,
"useenforcesavedatalimits": true,
"useexperimentalcdsconnector": true,
"useexperimentalsqlconnector": true,
"useguiddatatypes": true,
"usenonblockingonstartrule": true,
"webbarcodescanner": false,
"zeroalltabindexes": false
},
"Author": "",
"BindingErrorCount": 0,
"ContainsThirdPartyPcfControls": false,
"DefaultConnectedDataSourceMaxGetRowsCount": 500,
"DocumentAppType": "DesktopOrTablet",
"DocumentLayoutHeight": 768,
"DocumentLayoutLockOrientation": false,
"DocumentLayoutMaintainAspectRatio": true,
"DocumentLayoutOrientation": "landscape",
"DocumentLayoutScaleToFit": true,
"DocumentLayoutWidth": 1366,
"DocumentType": "App",
"EnableInstrumentation": false,
"FileID": "53dbbb3f-7749-4bc5-9c66-63e6048b06da",
"Id": "53dbbb3f-7749-4bc5-9c66-63e6048b06da",
"InstrumentationKey": "",
"ManualOfflineProfileId": "",
"Name": "Subgrid",
"OriginatingVersion": "1.330",
"ParserErrorCount": 0
},
"PublishInfo": {
"AppName": "Subgrid",
"BackgroundColor": "RGBA(0,176,240,1)",
"IconColor": "RGBA(255,255,255,1)",
"IconName": "Edit",
"LogoFileName": "",
"PublishDataLocally": false,
"PublishResourcesLocally": false,
"PublishTarget": "player",
"UserLocale": "en-US"
},
"ScreenOrder": [
"Screen1"
]
}
Loading

0 comments on commit 27b4f8a

Please sign in to comment.