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

详情页有时候内容比较多,这个时候就需要借助滚动条的下拉。在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. manjaro20WPS缺少字体

    宋体等 sudo pacman -S ttf-wps-fonts Ariel和Times New Roman https://askubuntu.com/questions/651441/how-to ...

  2. manjaro20配置matebook fn驱动

    安装fn驱动 https://github.com/aymanbagabas/Huawei-WMI Latest release中下载并安装 matebook-applet_2.4.8_amd64.d ...

  3. Cesium入门3 - Cesium目录框架结构

    Cesium入门3 - Cesium目录框架结构 Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ app目录 下 ...

  4. HashSet 实现类

    HashSet 实现类 通过 HashCode 判断元素是否存在,若存在则不添加,否则添加以此实现唯一性 常用方法 Modifier and Type Method and Description b ...

  5. Web开发底层是Servlet

    SpringMVC:是基于spring的一个框架,实际上就是spring的一个模块,专门是做web开发. 可以理解成servlet是一个升级 web开发底层是servlet,框架是在servlet基础 ...

  6. 什么是挂载?linux中挂载详解

    目录 一:什么是挂载,linux中挂载详解 一:什么是挂载,linux中挂载详解 1.linux中'一切皆文件',所有文件都放置在以根目录为树根的树形目录结构中.在linux看来,任何硬件设备也都是文 ...

  7. 《HelloGitHub》第 70 期

    兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣.入门级的开源项目. https://github.com/521xueweiha ...

  8. 学习JAVAWEB第三十七天(读构建之法有感)

    读<构建之法>有感 我今年暑假回去就要升入大二了,在今年的专业分流时,我选择了软件工程专业,起初的想法很简单,做一款优秀的,能拥有大量用户的软件,甚至还想通过自己的软件改变人们的生活.读了 ...

  9. 洛谷P7814 「小窝 R3」心の記憶

    题意 第一行给定两个数字\(n\) \(m\) \((m \ge n)\)分别代表给定字符串长度以及需要构造出的字符串长度 第二行给定一个长度为\(n\)的字符串 (假设原来的字符串是\(a\) 需要 ...

  10. bind方法源码

    'use strict'; module.exports = function bind(fn, thisArg) { return function wrap() { var args = new ...