PowerApps教程07-记录的详细信息显示
标签: PowerApps 数据库 windows ios android web app
一、回顾
大家好,最近有一段时间没有写教程了,是因为实在太忙,今天抽空赶紧又来更新一章。前面的教程有教大家如何显示记录集,但是一直都没有提到如何查看记录的详细信息,以及如何编辑、删除、新建记录,那么今天我们就先来讲讲如何查看记录的详细信息。
二、目的
我们先看一下之前创建的界面/屏幕,就是显示记录集的屏幕:

在这个屏幕上,我们之前有创建了“新建”按钮,这个是预留给新建记录使用的,目前没有编写代码,所以点击之后不会有什么反应。
在每条记录的最右侧,有一个向右的箭头“>”,这个就是我们今天可以用到的按钮,我们的目的是点击这个按钮的时候,可以让我们查看对应记录的详细信息。比方说下面的这个截图,点击第四条记录最右边的箭头,我们就看到该记录的详细信息:

三、记录信息显示
1. 新建屏幕
第一步是新建一个屏幕,当然,用我们之前学过的知识,我们可以用复制屏幕的方式,建立一个新的屏幕,然后给屏幕命名,比方说“ProjectDetailDisplay”:

然后从菜单栏选择“插入(Insert)”,“窗体(Forms)”,之后选择“显示(Display)”窗体。
之后调整显示窗体的大小,位置,同时可以设置窗体的数据源,在这里,我的数据源(DataSource)是项目清单,所以设置为了“Project”。

2. 设置格式
这时候,我们注意到在左侧的元素或者控件列表中,有一个窗体的控件,我把它改名为“Frm_ProjectDetailMain”,我们点击名称前面的箭头,可以看到下一级有很多的子控件,这些子控件就是记录的属性,比方说项目的编号、名称、类型等信息。

大家会问,怎么窗体内容里边啥也看不到啊,没有关系,这个是因为颜色设置的原因,我的底色是黑色,系统默认字体颜色为黑色,当然就看不见了,所以只需要把字体颜色设置为其他颜色即可,这里我设置为橙色。
需要注意的是,每一个属性对应一个DataCard,而一个DataCard下面一般至少有一个DataCardKey,和一个DataCardValue。DataCardKey其实就是属性的标题,而DataCardValue就是对应的值,比方说,在你的数据源里边,你的表头有“项目编号”,这个就是DataCardKey,而某条记录的项目编号为“PN-2020004”,这个就是DataCardValue。
刚开始的时候记录显示只能看到标题,看不到值,那是因为我们还没有设置,不要着急,可以先设置窗体的显示效果:

3、设置记录源
设置好格式之后,我们可以设置记录源,如果以后你们熟悉了PowerApps之后,其实可以先设置记录源,都可以的。
好,敲黑板了,新的知识点来了。
如何设置记录源?
首先,选择左侧控件的窗体控件,而不是窗体的子元素控件,在这个例子中,我们点击“Frm_ProjectDetailMain”,这个就是窗体控件,记得不要点击DataCard,然后我们选择属性区的“Item”,之后输入代码:
GalleryProjectList.Selected

大家可能会问,这个“GalleryProjectList”是哪里来的?所有的记录源都应该是这么写的吗?当然不是。。。“GalleryProjectList”是某个控件,还记得我上面说的,当我点击记录集的向右的箭头的时候,可以让我们看到项目详细信息吗?对了,我们需要可以点击项目记录集的那个界面,去找到这个控件:

怎么样,帮你想起来了吗?就是项目集的那个名称,上面那行代码的意思就是:GalleryProjectList这个记录集所选择的记录。所以叫做“GalleryProjectList.Selected”,简单吧。
是不是输完这行代码就完事了?当然不是,我们还需要在记录集这个箭头上做点文章,需要告诉系统,当我点击箭头之后,要干什么。
简单。。。。。
就在记录集的这个界面,我们找到向右的箭头这个控件,然后在OnSelect属性里边输入代码:
Navigate(ProjectDetailDisplay,Fade)
就实现啦。。。

之前讲过了,“Navigate(ProjectDetailDisplay,Fade)”和“Navigate(ProjectDetailDisplay,ScreenTransition.Fade)”是一样的,大家可以直接按照系统提示从下拉列表选择代码即可。
来来来,让我们进入试运行模式,先试试当你点击某一行的箭头之后,是不是你想看到的结果。
哦耶,果然是对的,让你们先享受一下成功带来的喜悦吧
别着急,还有活要干呢!
四、完善功能
1. 自定义表头名称
刚才的窗体显示都是系统自带的标题或者叫做表头,我们想要更改,如何操作?
第一步:解锁
看图操作,选择你要操作的DataCard,点击右侧的三个点点,然后选择第一个Unlock:

系统的显示窗体有些功能是公式或者默认值,如果需要进一步操作,我们需要先解锁。。。。比方说表头的名称,我们看,上面这张图片里边的表头(橙色字体部分)显示的都是英语,我们想要改成中文。
第二步:修改
解锁之后,我们选择DataCardKey这个控件(不要选错了哦),然后选择“Text”(中文版应该是“文本”)属性,我们可以看到系统的默认值为Parent.DisplayName,我们可以删除掉这个,然后自己输入我们想要显示的名称,比方说“项目编号”,记住,要打英文输入状态下的双引号哈。。。

我们依次修改好,请看我的修改结果:

2. 添加其他按钮
我们要继续添加“删除”,“编辑”按钮,同时,按照自己的设计添加一些其他的元素或者按钮,我的添加效果如下:

请大家忽略我的配色审美。。。。我相信大家可以设计出很漂亮的界面效果的,至少比我的好。这里的“删除”按钮是为了删除记录用的,而“编辑”按钮是可以允许我修改记录。在左侧的那些按钮,是可以允许我查看该项目的其他信息,比方说成本、利润、变更、风险等,大家可以根据你们的需求自行设计。
3. 返回项目清单
大家在试运行的时候已经发现了,当你点击箭头之后,系统会显示项目的详细信息,可是却没有办法回到项目清单,只能退出试运行模式,再次点击项目清单屏幕,再次试运行点击其他项目查看。。。。不好意思,我不是故意的,这里我们来添加一个返回按钮。

点击返回箭头,在OnSelect属性上添加代码:
Navigate(ProjectList,ScreenTransition.Fade)
好了,现在你点击试运行,你可以自由的飞翔了,哈哈,来回切换,是不是很爽???
五、总结
这么快就总结了?不好意思,码不动了,我知道还有好几个按钮都还没有添加代码,因为涉及到其他的学习内容,我们下一讲再说吧。。。其中包括删除记录,编辑记录,新建记录,对了,在现在详细信息显示界面上,如果你的屏幕是复制过来的,那左侧的“主页”那个按钮应该是已经有代码了,正常工作的(前提是你复制的那个屏幕代码是写好的),所以复制屏幕是有好处的,就是按钮的代码也会跟着复制。如果没有,大家应该知道怎么添加代码,让你在这个界面也可以返回到该系统的主界面了吧。。。。
好了,咱们下一讲再见,祝大家天天进步!
智能推荐
Fedora30显示启动过程详细信息
ENV: 系统安装完成后,默认的开机启动只是一张图片,感觉单调还没有科技感,就想改成开机显示详细信息的字符流,但是每次都按Esc转换太麻烦,想来个一劳永逸的方法。 开机显示启动过程详细信息,对/boot/grub2/grub.cfg文件进行修改,去掉其中的“rhgb quiet”。 rhgb表示redhat graphics boot,用图片来代替启动过程中显...
UGUI实现长按显示道具详细信息(类背包道具信息显示)
游戏中很普遍的一个功能,长按道具,显示道具的信息。类似下面这样的一个功能: 分析一下这个功能需要的知识点: 1.文本框的长宽根据文本内容自适应; 2.点击位置转换成实际UI位置(弹窗位置由点击...
猜你喜欢
创建一个Spring Boot项目
文章目录 Spring Boot的功能 Spring Boot的优点 Spring Boot 的三种创建方式 在线创建 使用开发工具创建 IntelliJ IDEA Maven 创建 项目结构 修改Tomcat端口号、处理Get请求乱码、修改路径 移除默认的嵌入的Tomcat Spring Boot的功能 为所有基于 Spring 的 Java 开发提供方便快捷的入门体验 开箱即用,有自己自定义的...
CAPL 脚本下调用cmd 和其它应用程序
CAPL 脚本下调用cmd 和其它应用程序 语法定义 CAPL 脚本下调用cmd CAPL 脚本下调用应用程序 语法定义 CAPL 脚本下调用cmd CAPL 脚本 运行Canoe ,然后在canoe运行界面 按键 小写 “c”,能够得到下面的结果:cmd进入了 configDir路径,并且执行了 DIR命令。 CAPL 脚本下调用应用程序 CAPL 脚本 运行Canoe ...
Android设备存储那些事
文章目录 内部存储 存储结构 访问方式 存储特点 外部存储 私有目录 存储结构 访问方式 存储特点 公共(共享)目录 存储结构 访问方式 存储特点 在之前的开发过程中,对于应用存储目录存在一些模糊的观念,在AndroidQ版本中,Google对应用存储空间又做了调整,借此机会梳理一下。 移动设备存储空间大致可划分为内部存储 与 外部存储,而外部存储又可细分为外部私有存储与外部共享存储,具体区别如下...
Spring的AOP开发简单示例
SpringAOP支持方法级别的增强。 大致有 @Before:方法执行前执行 @After:方法执行后还没有返回时执行 @Around:环绕通知,在Before之前,在After之前。 @AfterReturning:方法返回结果之后执行 @AfterThrowing:返回异常时执行 @ @DeclareParents:给类增加接口 假设 增强service包下的所有方法 : 目录结构 : 切面...
