按照企业信息系统的设计习惯,我们一般将信息以列表的方式在主窗口展现,同时设置需要展现的字段,一些系统会将这个窗口称为总表页、列表页等。而信息的编辑或完整信息的查询,一般通过一个弹窗来实现,一些系统会将这个窗口称为详情页、表单页等。

详情页有时候内容比较多,这个时候就需要借助滚动条的下拉。在windev官方文档中,没有查到详情页滚动条的实现方式,所以有一段时间都在找实现方案。上一篇博文中,有说到向内部窗口传参的方法,就是为了实现详情页滚动条。这几天玩layout时,发现这个控件也能实现滚动条,因为单个窗口就可以实现弹窗滚动条,所以现在都是用layout的方案来实现。以下划重点,方法其实也很简单:

1、在窗口中建一个layout

2、在layout中排组件,随排随拉长,先不管layout的长度会超过窗口

3、排完后,将layout的整体长度调整到适合窗口大小,这样内容区域长度超过layout的整体长度,滚动条就会自动出现。注意:layout的整体长度,在UI中设置

4、有可能,你关闭了layout的滚动条,可以到details中设置

使用layout实现滚动条,可以带来三个好处,(1)比内部窗口的方式少了一个窗口页面;(2)少一个窗口,也就不再需要向内部窗口传参了;(3)你还可以实现在窗口固定“确认/取消"按钮,排版会更灵活。

顺便说一下弹窗尺寸的规划,信息系统中的弹窗,我一般分为以下几类:

1、详情页弹窗,一般用于主信息的新建、修改和查看,我一般设置为(820-1020)*620,两栏显示

2、设置页弹窗,之前我们会把设置类信息专门放到一个设置类目中,但现在更多系统会将设置类按钮放在使用的地方,随时需要随时设置,这样的UI设置更加人性化。这类设置页弹窗在详情页和列表页都有可能出现,但主要是在详情页。这类弹窗,我一般准备两个规格,(650-750)*(450-600),两栏或列表显示;(450-550)*(350-550),单栏显示

3、伪组合框弹窗,有些填报组合框无法实现,我们一般会伪造一个组合框填报,基本原理就是点击图片弹窗,选择完后回传。这类弹窗的大小一般和填报字段编辑框的长度差不多,用openpopupposition函数实现弹窗。

2020-10-21补充:

最近发现,超级控件supercontrol也可以实现滚动条功能,和layou相比,在排版上会更简单,滚动条在设计阶段就可以使用。超级控件独立于当前窗口,相当于一个独立的窗口,可以定义自己的Local过程方法,也有自己的初始化事件。父窗口可以通过“超级控件名称.超级控件内部控件名称”的方式,获取内部控件,但是超级控件内部无法获取父窗口的控件,只能通过把值传给超级控件,再由父窗口读取超级控件值的方式来获取,还是比较麻烦!如果不涉及,由超级控制内部传值到外部的过程,有超级控件是比较好!

windev的弹窗详情页滚动条实现方法以及弹窗尺寸规划的更多相关文章

  1. iOS开发——UI进阶篇(十)导航控制器、微博详情页、控制器的View的生命周期

    一.导航控制器出栈 1.initWithRootViewController本质 UIViewController *vc = [[OneViewController alloc] init]; // ...

  2. 通过日志过滤的方法,统计每天内容详情页面的PV数

    1.目的: 每天凌晨0点1分统计用户点击进入内容详情页的次数,对内容点击量形成榜单. 2.分析: A./data/log/epg.access.log日志实时打印用户访问页面的日志,并且每天凌晨0点会 ...

  3. React-Native 之 GD (十一)加载更多功能完善 及 跳转详情页

    1.加载更多功能完善 GDHome.js /** * 首页 */ import React, { Component } from 'react'; import { StyleSheet, Text ...

  4. 从零开始,搭建博客系统MVC5+EF6搭建框架(5),博客详情页、留言、轮播图管理、右侧统计博文

    一.博客系统进度回顾 上一遍博客介绍到,系统已经实现到了发布以及前台布局展示,接下来就是实现一些,详情页,留言.轮播图管理.右侧博文统计信息实现. 二.博客系统详情页实现 2.1先来看看详情页展示的效 ...

  5. 这交互炸了:饿了么是怎么让Image变成详情页的

    这交互炸了:饿了么是怎么让Image变成详情页的 晚上叫外卖,打开饿了么,发现推了一个版本,更新以后,点开了个鸡腿,哇,交互炫炸了. 本文同步自wing的地方酒馆 不过还是有槽点.我是无意中才发现可以 ...

  6. Ecshop商品详情页显示当前会员等级价格

    会员登录状态下,在ECSHOP商品详情页的本店售价中显示当前登录会员对应的等级价格,在未登录状态下,则还默认显示原来的本店售价. 解决方法: 这个需要修改ECSHOP程序代码来实现. 打开文件 /in ...

  7. iOS之UI--微博个人详情页

    前言:微博个人详情页,和我常用的的QQ空间的详情页是同样的.要求能够融会贯通,做这一类的界面能够快速上手实现. 动态图效果展示: 直接使用UINavigationBar->UITableView ...

  8. ecshop 商品详情页显示同类别下的推荐商品

    1.打开goods.php文件找到下面代码 $smarty->assign('goods_rank', get_goods_rank($goods_id)); // 商品的销售排名 在上面的代码 ...

  9. ecshop 优化_将商品详情页goods.php重命名为shangpin.php

    有人说,将商品详情页的文件名 goods.php 改一个名字,对百度收录会有帮助,也许吧,这里不讨论是否有帮助,这里只讲解如何重命名. 例如:我们将 goods.php 改为 shangpin.php ...

随机推荐

  1. Vue框架怎么使用mediainfo.js来检测视频文件是否有音轨?

    啥是MediaInfo? 简而言之,MediaInfo是一个能读取音频和视频文件并分析和输出音视频信息的工具,能输出的内容包括视频信息,音轨,字幕等. MediaInfo也可以在web端使用,需要使用 ...

  2. 小程序或者vue,解决菜单导航做做成轮播的样子

    案例: 其中最重要的思路就是如何让第二次或第三次以及后面的轮播有数据: 做法大致跟轮播图做法一样,只不过我们需要进行书写样式,代码如下: <!-- 做一个轮播图navbar demo --> ...

  3. 不难懂-----redux

    一.flux的缺陷 因为dispatcher和Store可以有多个互相管理起来特别麻烦 二.什么是redux 其实redux就是Flux的一种进阶实现.它是一个应用数据流框架,主要作用应用状态的管理 ...

  4. es的settings设置详解

    //静态设置:只能在索引创建时或者在状态为 closed index(闭合的索引)上设置   index.number_of_shards //主分片数,默认为5.只能在创建索引时设置,不能修改   ...

  5. 源码安装gitlab

    GitLab服务构成 GitLab由以下服务构成:   nginx:静态Web服务器 gitlab-shell:用于处理Git命令和修改authorized keys列表 gitlab-workhor ...

  6. 「NOI十联测」反函数

    30pts 令(为1,)为-1: 暴力枚举每个点为起始点的路径,一条路径是合法的当且仅当路径权值和为0且路径上没有出现过负数. 将所有答案算出. 100pts 使用点分治. 要求知道经过重心root的 ...

  7. Java GUI界面补充总结(不定期补充)

    一.Java中如何设置各类组件透明 感谢原文:https://kslsi.iteye.com/blog/2096608 补充:Frame透明:AWTUtilities.setWindowOpacity ...

  8. 物理CPU,物理核,逻辑CPU,虚拟CPU(vCPU)区别 (转)

    在做虚拟化时候,遇到划分CPU的问题,因此考虑到CPU不知道具体怎么划分,查询一些资料后就写成本文. a. 物理CPU:物理CPU是相对于虚拟CPU而言的概念,指实际存在的处理器,就是我们可以看的见, ...

  9. PHP的这些基础知识你应该熟知

    PHP变量的值类型和引用类型 四种基本类型(int,float,string,boolean)以及复合类型(array)均为值类型,变量间的赋值传递的是值,相当于创建一个副本给新变量. 对象(obje ...

  10. java中Statement 对象

    1.创建Statement对象建立了到特定数据库的连接之后,就可用该连接发送 SQL 语句.Statement 对象用 Connection 的方法 createStatement 创建,如下列代码段 ...