NiceGUI `ui.table` 基础

news2024/12/20 9:25:50

NiceGUI ui.table 基础

ui.table 是 NiceGUI 提供的一个组件,用于在页面上展示数据表格


基本概念

官方简介

A table based on Quasar’s QTable component.

参数参考
rows:list of row objects; 行对象列表
columns:list of column objects (defaults to the columns of the first row);列对象列表(默认为第一行的列)
column_defaults:optional default column properties; 可选的默认列属性
row_key:name of the column containing unique data identifying the row (default: “id”); 包含标识行的唯一数据的列的名称(默认值:“id”)
title:title of the table; 表格标题
selection:selection type (“single” or “multiple”; default: None); 选择类型(“单”或“多”;默认值:无)
pagination:a dictionary correlating to a pagination object or number of rows per page (None hides the pagination, 0 means “infinite”; default: None).; 与分页对象或每页行数相关的字典(None隐藏分页,0表示“无限”;默认值:None)
on_select:callback which is invoked when the selection changes; 当选择更改时调用的回调
on_pagination_change:callback which is invoked when the pagination changes; 当分页更改时调用的回调

If selection is ‘single’ or ‘multiple’, then a selected property is accessible containing the selected rows.

如果 selection 为 ‘single’ 或 ‘multiple’,则可访问包含所选行的所选属性。

简介

  • columns:定义表格的列,包括列标题、数据字段映射、对齐方式等。
  • rows:定义表格的数据,每行是一个字典,键需要与 columns 中的 field 值对应。

columnsrows 的关系

  • columnsfield 指定了表格从 rows 中取值的键。
  • 如果 columns 中的 field 未定义或与 rows 数据不匹配,该列的数据会显示为空白。

columns 字段说明

必须定义的字段

  1. name

    • 唯一标识列的名称,表格内部使用。
    • 必须是字符串类型。
  2. label

    • 表头中显示的列标题。
    • 如果未定义,表头中该列将显示为空白。
  3. field

    • 指定从 rows 的哪个键中取值,绑定列与行数据。
    • 如果未定义,表格无法显示该列对应的数据。

可选字段

  1. align

    • 控制列内容的对齐方式。
    • 可选值:'left', 'center', 'right'
    • 默认值:'left'
  2. sortable

    • 是否允许对该列进行排序。
    • 类型:布尔值,默认值为 False
  3. width

    • 设置列宽,可以是像素值(如 '100px')或百分比(如 '20%')。
  4. classes

    • 自定义 CSS 类,用于控制列样式。

示例代码

以下代码展示了一个完整的表格定义,包括两列:conditionval

from nicegui import ui

# 定义表格的列
columns = [
    {
        'name': 'condition',     # 必须:唯一标识列
        'label': 'Condition',    # 必须:表头名称
        'field': 'condition',    # 必须:对应行数据的键
        'align': 'left',         # 可选:对齐方式
        'sortable': True,        # 可选:启用排序
        'width': '50%',          # 可选:列宽
    },
    {
        'name': 'val',
        'label': 'Value',
        'field': 'val',
        'align': 'center',
        'sortable': False,       # 可选:禁用排序
    },
]

# 定义表格的数据行
rows = [
    {'condition': 'a > 10', 'val': True},
    {'condition': 'b > 20', 'val': True},
    {'condition': 'c > 30', 'val': False},
]

# 创建 UI 表格

ui.table(
    columns=columns,
    rows=rows
)

ui.run()

运行效果

ConditionValue
a > 10True
b > 20True
c > 30False

常见问题

示例:未定义 field

field 是表格列与行数据绑定的关键字段。表格通过 fieldrows 中取值,如果未定义 field,表格无法知道该列需要显示哪些数据。

columns = [
    {'name': 'condition', 'label': 'Condition', 'align': 'left'},  # 缺少 field
    {'name': 'val', 'label': 'Value', 'align': 'center'},         # 缺少 field
]

结果:表头显示 ConditionValue,但行数据为空白。

正确方式

columns = [
    {'name': 'condition', 'label': 'Condition', 'field': 'condition', 'align': 'left'},
    {'name': 'val', 'label': 'Value', 'field': 'val', 'align': 'center'},
]

NiceGUI 官方文档:https://nicegui.io

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2262621.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VScode MAC按任意键关闭终端 想要访问桌面文件

说明 最近配置MAC上CPP的运行环境,在安装必要的CPP插件后,配置launch和task等json文件后,点击运行三角形,每次都会跳出main想要访问桌面上的文件。并且输出也是在调试控制台,非常逆天。 尝试 尝试1:尽管我尝试将ta…

【一本通】线段

【一本通】线段 C语言代码Java代码C代码 💐The Begin💐点点关注,收藏不迷路💐 数轴上有 n条线段,选取其中 k条线段使得这 k条线段两两没有重合部分,问最大的k为多少? 输入 输入文件segment.in的第一行为…

学习日志024--opencv中处理轮廓的函数

目录 前言​​​​​​​ 一、 梯度处理的sobel算子函数 功能 参数 返回值 代码演示 二、梯度处理拉普拉斯算子 功能 参数 返回值 代码演示 三、Canny算子 功能 参数 返回值 代码演示 四、findContours函数与drawContours函数 功能 参数 返回值 代码演示 …

关于分页的样式问题

在最近写网页的时候遇到了一个关于样式的问题,今天我来跟大家来说一下。像是分页中的颜色效果,斑马纹颜色要注意颜色不要过于深。 这种的颜色就有一点深看着很不舒服,应将当前的颜色改为淡一点的,也可以利用rgba调整透明度&#x…

机器学习周报(12.9-12.15)

文章目录 摘要Abstract 1 Swin Transformer1.1 输入1.2 Patch Partition1.3 Linear Embedding1.4 Patch Merging1.5 Swin Transformer Block1.6 代码总结 摘要 本篇博客介绍了采用类似于卷积核的移动窗口进行图像特征提取的Swin Transformer网络模型,这是一种基于T…

基于Spring Boot的校园车辆管理系统

一、系统背景与意义 随着校园规模的不断扩大和车辆数量的增加,传统的车辆管理方式已经难以满足高效、准确管理车辆的需求。因此,开发一个基于Spring Boot的校园车辆管理系统具有重要的现实意义。该系统可以实现对校园车辆的信息化管理,提高车…

SpringBoot3整合FastJSON2如何配置configureMessageConverters

在 Spring Boot 3 中整合 FastJSON 2 主要涉及到以下几个步骤,包括添加依赖、配置 FastJSON 作为 JSON 处理器等。下面是详细的步骤: 1. 添加依赖 首先,你需要在你的 pom.xml 文件中添加 FastJSON 2 的依赖。以下是 Maven 依赖的示例&#…

隐私清理工具Goversoft Privazer

PrivaZer 是一款专为隐私保护而生的 Windows 系统清理工具,支持深度扫描、清除无用文件和隐私痕迹。 PrivaZer - 深度扫描磁盘,自动清理上网痕迹,全面保护 Windows 的网络隐私 释放磁盘空间 硬盘空间告急,想清理却又无从下手&…

UDP网络编程套接

目录 本文核心 预备知识 1.端口号 认识TCP协议 认识UDP协议 网络字节序 socket编程接口 sockaddr结构 UDP套接字编程 服务端 客户端 TCP与UDP传输的区别 可靠性: 传输方式: 用途: 头部开销: 速度: li…

3.zabbix中文设置

1、zabbix中文设置 2、中文乱码的原因 zabbix使用DejaVuSan.ttf字体,不支持中文,导致中文出现乱码。解决方法很简单,把我们电脑里面字体文件传到zabbix服务器上。 3、解决zabbix乱码方法 3.1、从Window服务器找到相应的字休复制到zabbix S…

【Vue3学习】setup语法糖中的ref,reactive,toRef,toRefs

在 Vue 3 的组合式 API(Composition API)中,ref、reactive、toRef 和 toRefs 是四个非常重要的工具函数,用于创建和管理响应式数据。 一、ref 用ref()包裹数据,返回的响应式引用对象,包含一个 .value 属性&#xff0…

图书馆管理系统(三)基于jquery、ajax

任务3.4 借书还书页面 任务描述 这部分主要是制作借书还书的界面,这里我分别制作了两个网页分别用来借书和还书。此页面,也是通过获取books.txt内容然后添加到表格中,但是借还的操作没有添加到后端中去,只是一个简单的前端操作。…

springboot450房屋租赁管理系统(论文+源码)_kaic

摘 要 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统房屋租赁管理系统信息管理难度大,容错率低&am…

vue框架的搭建

1什么是Node.js; Node.js 是一个免费、开源、跨平台的 JavaScript 运行时环境, 它让开发人员能够创建服务器 Web 应用、命令行工具和脚本 Node.js下载: 下载Node 16.20.2 安装Node.js 安装Node.js 测试安装 运行命令行 win键R 查看node版本 输入&am…

TCP基础了解

什么是 TCP ? TCP 是面向连接的、可靠的、基于字节流的传输层通信协议。 面向连接:一定是「一对一」才能连接,不能像 UDP 协议可以一个主机同时向多个主机发送消息,也就是一对多是无法做到的; 可靠的:无论…

电商数据采集电商,行业数据分析,平台数据获取|稳定的API接口数据

电商数据采集可以通过多种方式完成,其中包括人工采集、使用电商平台提供的API接口、以及利用爬虫技术等自动化工具。以下是一些常用的电商数据采集方法: 人工采集:人工采集主要是通过基本的“复制粘贴”的方式在电商平台上进行数据的收集&am…

C语言-稀疏数组转置

1.题目要求 2.代码实现 #include <stdio.h> #define MAX_TERM 80// 定义稀疏矩阵结构体 typedef struct juzhen {int row;int col;int value; } Juzhen;// 显示稀疏矩阵 void show(Juzhen a[], int count_a) {printf(" i row col val\n");for (int i 1; i &…

在 Spring Boot 3 中实现基于角色的访问控制

基于角色的访问控制 (RBAC) 是一种有价值的访问控制模型,可增强安全性、简化访问管理并提高效率。它在管理资源访问对安全和运营至关重要的复杂环境中尤其有益。 我们将做什么 我们有一个包含公共路由和受限路由的 Web API。受限路由需要数据库中用户的有效 JWT。 现在用户…

计算机毕业设计python+spark+hive动漫推荐系统 漫画推荐系统 漫画分析可视化大屏 漫画爬虫 漫画推荐系统 漫画爬虫 知识图谱 大数据毕设

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

SAP抓取外部https报错SSL handshake处理方法

一、问题描述 SAP执行报表抓取https第三方数据,数据获取失败。 报错消息: SSL handshake with XXX.COM:449 failed: SSSLERR_SSL_READ (-58)#SAPCRYPTO:SSL_read() failed##SapSSLSessionStartNB()==SSSLERR_SSL_READ# SSL:SSL_read() failed (536875120/0x20001070)# …