数据库模板列进度条来啦!

本贴最后更新于 401 天前,其中的信息可能已经东海扬尘

突发奇想,有一种可以简单实现数据库中进度条的方式!
就是用 🟩 和 ⬜ 按照比例来堆砌。当然,这只能粗略地体现百分比中十位的数字,个位的数字是体现不出来的。

后来经过 D 大和评论区大神的帮助,又有了完善的进度条显示方式(即进度条 3)!

效果如下:

截屏 2024022515.15.32.png

  • 建立两个数字类型的列,分别命名为“总数”和“已完成”

  • 建立 2 个模板列,分别命名为“进度”和“进度条”

  • “进度”列代码

    .action{$a:= index . "已完成" } .action{$b:= index . "总数" } .action{$c:= mul $a 100} .action{$d:= div $c $b} .action{$d}%
  • “进度条”列代码

    • 第一种是向下取整,即只看十位数

      .action{$a:= index . "已完成" } .action{$b:= index . "总数" } .action{$c:= mul $a 10} .action{$d:= div $c $b} .action{if eq $d 0} ⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜ .action{else if eq $d 1} 🟩⬜⬜⬜⬜⬜⬜⬜⬜⬜ .action{else if eq $d 2} 🟩🟩⬜⬜⬜⬜⬜⬜⬜⬜ .action{else if eq $d 3} 🟩🟩🟩⬜⬜⬜⬜⬜⬜⬜ .action{else if eq $d 4} 🟩🟩🟩🟩⬜⬜⬜⬜⬜⬜ .action{else if eq $d 5} 🟩🟩🟩🟩🟩⬜⬜⬜⬜⬜ .action{else if eq $d 6} 🟩🟩🟩🟩🟩🟩⬜⬜⬜⬜ .action{else if eq $d 7} 🟩🟩🟩🟩🟩🟩🟩⬜⬜⬜ .action{else if eq $d 8} 🟩🟩🟩🟩🟩🟩🟩🟩⬜⬜ .action{else if eq $d 9} 🟩🟩🟩🟩🟩🟩🟩🟩🟩⬜ .action{else if eq $d 10} 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 .action{end}
    • 第二种是四舍五入,就不解释了

      .action{$a:= index . "已完成" } .action{$b:= index . "总数" } .action{$c:= mul $a 100} .action{$d:= div $c $b} .action{if lt $d 5} ⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜ .action{else if lt $d 15} 🟩⬜⬜⬜⬜⬜⬜⬜⬜⬜ .action{else if lt $d 25} 🟩🟩⬜⬜⬜⬜⬜⬜⬜⬜ .action{else if lt $d 35} 🟩🟩🟩⬜⬜⬜⬜⬜⬜⬜ .action{else if lt $d 45} 🟩🟩🟩🟩⬜⬜⬜⬜⬜⬜ .action{else if lt $d 55} 🟩🟩🟩🟩🟩⬜⬜⬜⬜⬜ .action{else if lt $d 65} 🟩🟩🟩🟩🟩🟩⬜⬜⬜⬜ .action{else if lt $d 75} 🟩🟩🟩🟩🟩🟩🟩⬜⬜⬜ .action{else if lt $d 85} 🟩🟩🟩🟩🟩🟩🟩🟩⬜⬜ .action{else if lt $d 95} 🟩🟩🟩🟩🟩🟩🟩🟩🟩⬜ .action{else} 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 .action{end}
    • 第三种是评论区大神的方法,可以精确到个位数

      .action{$a:= index . "已完成" } .action{$b:= index . "总数" } .action{$c:= mul $a 100} .action{$d:= div $c $b} <span style="background-color: rgba(175,184,193,0.2); width: 100%; display: inline-block;height: 12px;border-radius: 6px;align-self: center;overflow: hidden;"> <span style="text-align: right; font-size: 12px; width: .action{$d}%; background-color: rgb(45,164,78); display: inline-block;height: inherit;vertical-align: top;"></span> </span>

世上还是大神多呀!

如果你还有更好的方式,欢迎和我交流 ~

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    24862 引用 • 102285 回帖
2 操作
Liuzn 在 2024-02-25 22:59:48 更新了该帖
Liuzn 在 2024-02-25 15:23:45 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 88250 2 2 评论

    非常有趣!

    顺便说一下,模板字段是可以使用 HTML/CSS 代码的。

    1 回复
    出个教程
    lv37
    太秀了,比 Notion formula 2.0 的 style 可玩性更强 👍
    Feline
  • Liuzn via macOS

    那就要大神来出手了 😂

    1 回复
  • Undii 4 3 评论

    ❤ 基于你的代码改了一下:

    rgba(175,184,193,0.2) 是背景色; rgb(45,164,78) 是已完成的部分;

    .action{$a:= index . "已完成" } .action{$b:= index . "总数" } .action{$c:= mul $a 100} .action{$d:= div $c $b} <span style="background-color: rgba(175,184,193,0.2); width: 100%; display: inline-block;height: 10px;border-radius: 5px;align-self: center;overflow: hidden;"> <span style="text-align: right; font-size: 12px; width: .action{$d}%; background-color: rgb(45,164,78); display: inline-block;height: inherit;vertical-align: top;"></span> </span>
    1 操作
    Undii 在 2024-02-25 15:03:06 更新了该回帖
    「已完成」和「总数」是不是放反了?
    JeffreyChen
    大神太强了!
    Liuzn
    @a2930610542 没看出来,能用就行呗
    Undii
  • crowds21 via macOS

    太秀了!

  • lunzi 2 评论

    这个功能我研究过了,现在有个很大的缺陷是,比如你现在表里的“已完成”和“总数”是手写,想要让他好用,肯定需要用上关联和汇总字段,自动算出一个完成数。但是模板是不支持这两种字段的

    数据库“模板列”无法读取“汇总列”和“关联列”的值 - 88250 的回帖 - 链滴 (ld246.com)

    88250 1
    @88250 太棒了!
    Liuzn
  • Feline 1 赞同

    支持 html/css,进度条直接用 progress 也成,但是改样式没有手搓进度条来得方便。

    <progress max=.action{.总数} value=.action{.已完成}></progress>
  • leoyao 1

    在 v3.0.10 后会报错,更新后如下

    .action{$a:= index . "已完成" 0} .action{$b:= index . "总数" 0} .action{$c:= mul $a 100} .action{$d:= div $c $b} <span style="background-color: rgba(175,184,193,0.2); width: 100%; display: inline-block; height: 20px; border-radius: 5px; align-self: center; overflow: hidden; position: relative; font-family: Arial, sans-serif;"> <span style="text-align: right; font-size: 12px; width: .action{$d}%; background-color: rgb(45,164,78); display: inline-block; height: inherit; vertical-align: top; color: white; padding-right: 5px; line-height: 20px;">.action{$d}%</span> <span style="position: absolute; right: 5px; top: 0; bottom: 0; color: black; display: flex; align-items: center;"></span> </span>
    2 回复
    1 操作
    JeffreyChen 在 2024-05-17 16:38:44 更新了该回帖
  • 补充说明:模板使用关联或汇总时,填充值为数组,所以可能需要使用 index .汇总 0 来访问第一个值,或者使用 range 迭代所有值。

    关联:Issue #11029 · siyuan-note/siyuan

  • mark-j 1 评论

    进度百分比和进度条能否合二为一?

    前两种进度条应该都是可以的,第三种进度条我也不知道能不能,需要大神来说明了
    Liuzn
  • mark-j

    3.1.9 还是报错?原因是总数没有输入数字,分母不能为 0。

  • mark-j

    进度条和数值二合一代码image.png

  • mark-j 2 1 赞同
    .action{$a:= index . "已完成" } .action{$b:= index . "总数" } .action{$c:= mul $a 100} .action{$d:= div $c $b} <span style="background-color: rgba(175,184,193,0.2); width: 100%; display: inline-block; height: 12px; border-radius: 6px; align-self: center; overflow: hidden;"> <!-- 进度条的已完成部分 --> <span style="text-align: right; font-size: 12px; width: .action{$d}%; background-color: rgb(45,164,78); display: inline-block; height: inherit; vertical-align: top; color: white; line-height: 12px;"> .action{$d}% </span> </span>
请输入回帖内容 ...

推荐标签 标签

  • NetBeans

    NetBeans 是一个始于 1997 年的 Xelfi 计划,本身是捷克布拉格查理大学的数学及物理学院的学生计划。此计划延伸而成立了一家公司进而发展这个商用版本的 NetBeans IDE,直到 1999 年 Sun 买下此公司。Sun 于次年(2000 年)六月将 NetBeans IDE 开源,直到现在 NetBeans 的社群依然持续增长。

    78 引用 • 102 回帖 • 702 关注
  • InfluxDB

    InfluxDB 是一个开源的没有外部依赖的时间序列数据库。适用于记录度量,事件及实时分析。

    2 引用 • 87 关注
  • 房星科技

    房星网,我们不和没有钱的程序员谈理想,我们要让程序员又有理想又有钱。我们有雄厚的房地产行业线下资源,遍布昆明全城的 100 家门店、四千地产经纪人是我们坚实的后盾。

    6 引用 • 141 回帖 • 590 关注
  • gRpc
    11 引用 • 9 回帖 • 89 关注
  • Gzip

    gzip (GNU zip)是 GNU 自由软件的文件压缩程序。我们在 Linux 中经常会用到后缀为 .gz 的文件,它们就是 Gzip 格式的。现今已经成为互联网上使用非常普遍的一种数据压缩格式,或者说一种文件格式。

    9 引用 • 12 回帖 • 169 关注
  • Android

    Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。2005 年由 Google 收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。

    335 引用 • 324 回帖
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 755 关注
  • 30Seconds

    📙 前端知识精选集,包含 HTML、CSS、JavaScript、React、Node、安全等方面,每天仅需 30 秒。

    • 精选常见面试题,帮助您准备下一次面试
    • 精选常见交互,帮助您拥有简洁酷炫的站点
    • 精选有用的 React 片段,帮助你获取最佳实践
    • 精选常见代码集,帮助您提高打码效率
    • 整理前端界的最新资讯,邀您一同探索新世界
    488 引用 • 384 回帖 • 6 关注
  • Visio
    1 引用 • 2 回帖
  • PWL

    组织简介

    用爱发电 (Programming With Love) 是一个以开源精神为核心的民间开源爱好者技术组织,“用爱发电”象征开源与贡献精神,加入组织,代表你将遵守组织的“个人开源爱好者”的各项条款。申请加入:用爱发电组织邀请帖
    用爱发电组织官网:https://programmingwithlove.stackoverflow.wiki/

    用爱发电组织的核心驱动力:

    • 遵守开源守则,体现开源&贡献精神:以分享为目的,拒绝非法牟利。
    • 自我保护:使用适当的 License 保护自己的原创作品。
    • 尊重他人:不以各种理由、各种漏洞进行未经允许的抄袭、散播、洩露;以礼相待,尊重所有对社区做出贡献的开发者;通过他人的分享习得知识,要留下足迹,表示感谢。
    • 热爱编程、热爱学习:加入组织,热爱编程是首当其要的。我们欢迎热爱讨论、分享、提问的朋友,也同样欢迎默默成就的朋友。
    • 倾听:正确并恳切对待、处理问题与建议,及时修复开源项目的 Bug ,及时与反馈者沟通。不抬杠、不无视、不辱骂。
    • 平视:不诋毁、轻视、嘲讽其他开发者,主动提出建议、施以帮助,以和谐为本。只要他人肯努力,你也可能会被昔日小看的人所超越,所以请保持谦虚。
    • 乐观且活跃:你的努力决定了你的高度。不要放弃,多年后回头俯瞰,才会发现自己已经成就往日所仰望的水平。积极地将项目开源,帮助他人学习、改进,自己也会获得相应的提升、成就与成就感。
    1 引用 • 487 回帖
  • OkHttp

    OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。

    16 引用 • 6 回帖 • 83 关注
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    9436 引用 • 42974 回帖 • 109 关注
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖
  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    286 引用 • 248 回帖 • 12 关注
  • 旅游

    希望你我能在旅途中找到人生的下一站。

    93 引用 • 901 回帖 • 1 关注
  • ActiveMQ

    ActiveMQ 是 Apache 旗下的一款开源消息总线系统,它完整实现了 JMS 规范,是一个企业级的消息中间件。

    19 引用 • 13 回帖 • 678 关注
  • SpaceVim

    SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
    及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
    语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
    即用的 Vim-IDE。

    3 引用 • 31 回帖 • 116 关注
  • Hadoop

    Hadoop 是由 Apache 基金会所开发的一个分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

    88 引用 • 122 回帖 • 622 关注
  • Eclipse

    Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

    76 引用 • 258 回帖 • 630 关注
  • WebClipper

    Web Clipper 是一款浏览器剪藏扩展,它可以帮助你把网页内容剪藏到本地。

    3 引用 • 9 回帖 • 5 关注
  • 强迫症

    强迫症(OCD)属于焦虑障碍的一种类型,是一组以强迫思维和强迫行为为主要临床表现的神经精神疾病,其特点为有意识的强迫和反强迫并存,一些毫无意义、甚至违背自己意愿的想法或冲动反反复复侵入患者的日常生活。

    15 引用 • 161 回帖
  • C++

    C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。

    107 引用 • 153 回帖
  • 音乐

    你听到信仰的声音了么?

    62 引用 • 512 回帖
  • 笔记

    好记性不如烂笔头。

    310 引用 • 794 回帖
  • CSS

    CSS(Cascading Style Sheet)“层叠样式表”是用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。

    199 引用 • 541 回帖
  • CAP

    CAP 指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。

    12 引用 • 5 回帖 • 638 关注
  • V2Ray
    1 引用 • 15 回帖