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

详情页有时候内容比较多,这个时候就需要借助滚动条的下拉。在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. Android学习笔记2

    4,用intent在activity之间传递数据(两个Activity可能不是在一个应用程序中) (1),从MainActivity向HelloActivity传递参数123 package com. ...

  2. 【涨姿势】原来golang的case <-time.After(xxx)还有这样的坑

    偶然看到这样一篇文章:<使用 pprof 排查 Golang 内存泄露>https://www.toutiao.com/i6881796351139676680/ 最后一段让我很疑惑: 修 ...

  3. ASP.NET 内联代码、内联表达式、数据绑定表达式使用方法罗列(形式就是常说的尖括号 百分号 等于号 井号)

    今天在做渭南电脑维修网的一个小功能时遇到了一些问题,因此特别列出,以备他日之用. 首先对ASP.NET 内联代码.内联表达式.数据绑定表达式的概念进行罗列,详细概念以及基本的用法我就不在这里罗嗦了,请 ...

  4. gin中绑定uri

    package main import ( "github.com/gin-gonic/gin" "net/http" ) type Person struct ...

  5. 网络支持IPV6地址测试校验与思考

    概述 大背景:随着移动端的快速扩张,互联网的规模越来越广阔,早于2011年耗尽的IPV4地址越来越无法满足互联网的网络地址需求,IPV6地址推广进入快车道.实际情况:近期公司应上级部门邀请对公司的主域 ...

  6. Filter-完整的用户登录和权限检查

    Filter过滤器的使用步骤: 1,编写一个类去实现Filter接口 2,实现拦截(过滤)方法doFilter() 3,到web.xml中配置Filter的拦截路径 补充login.jsp登录页面 编 ...

  7. Pycharm 使用备忘

    1.打开方法定义 快捷方式:[ctrl+左键]或者[Ctrl+B] 如果点击之后,打开不是[.py]文件,而是[.pyi]文件,可以把下面红框的参数删掉. 2.设置文件开头默认注释 # *_* cod ...

  8. Supervisor多进程管理 异常自动重启 可视化管理

    一.序言 Supervisor是多进程管理工具,在Docker中相关联的进程能够通过supervisor来管理. 微服务项目开发阶段,可用于微服务子项目的启动管理. 支持web可视化管理,能够极大方面 ...

  9. 深坑react 引入antd无效问题

    //安装babel-plugin-import 第一步:npm install babel-plugin-import --save第二步:暴露webpack.config.js运行:npm run ...

  10. 「JOI 2015 Final」舞会

    「JOI 2015 Final」舞会 略微思考一下即可知该过程可以化为一棵树.(3个贵族中选择1个,即新建一个节点连向这3个贵族). 该树的结点个数为\(2n\). 考虑二分答案mid. 判定的是公主 ...