【ag-grid-vue】列定义(Updating Column Definitions)

news2024/12/23 13:29:48

列定义一节解释了如何配置列。可以在初始设置列之后更改列的配置。本节介绍如何更新列定义。

添加和删除列

可以通过更新提供给网格的列定义列表来添加和删除列。当设置新列时,网格将与当前列进行比较,并计算出哪些列是旧的(要删除)、哪些列是新的(创建的新列)或保留的。下面的示例演示从网格中添加和删除列。

注意事项如下:

  • 选择按钮以在包括或排除奖章列之间切换 

 示例

<template>
  <div>
    <div class="operate">
      <button @click="onBtExcludeMedalColumns">onBtExcludeMedalColumns</button>
      <button @click="onBtIncludeMedalColumns">onBtIncludeMedalColumns</button>
    </div>
    <ag-grid-vue
      style="height: 500px; width: 100%"
      class="ag-theme-alpine"
      :columnDefs="columnDefs"
      :defaultColDef="defaultColDef"
      :rowData="rowData"
      @grid-ready="onGridReady"
    ></ag-grid-vue>
  </div>
</template>

<script>
import { AgGridVue } from "ag-grid-vue";
const colDefsMedalsIncluded = [
  { field: "athlete" },
  { field: "gold" },
  { field: "silver" },
  { field: "bronze" },
  { field: "total" },
  { field: "age" },
  { field: "country" },
  { field: "sport" },
  { field: "year" },
  { field: "date" },
];
const colDefsMedalsExcluded = [
  { field: "athlete" },
  { field: "age" },
  { field: "country" },
  { field: "sport" },
  { field: "year" },
  { field: "date" },
];
export default {
  name: "UpdatingColumn",
  components: {
    AgGridVue,
  },
  data() {
    return {
      columnDefs: colDefsMedalsIncluded,
      gridApi: null,
      columnApi: null,
      defaultColDef: {
        initialWidth: 100,
        sortable: true,
        resizable: true,
      },
      rowData: null,
    };
  },
  methods: {
    onBtExcludeMedalColumns() {
      this.gridApi.setColumnDefs(colDefsMedalsExcluded);
    },
    onBtIncludeMedalColumns() {
      this.gridApi.setColumnDefs(colDefsMedalsIncluded);
    },
    onGridReady(params) {
      this.gridApi = params.api;
      this.gridColumnApi = params.columnApi;

      const updateData = (data) => {
        this.onBtIncludeMedalColumns();
        this.rowData = data;
      };
      fetch("https://www.ag-grid.com/example-assets/olympic-winners.json")
        .then((resp) => resp.json())
        .then((data) => updateData(data));
    },
  },
};
</script>

<style lang="less" scoped></style>

初始状态

点击按钮 onBtExcludeMedalColumns

 

更新列定义

可以更新列定义的所有属性。例如,如果要更改列的Header Name,则更新列定义上的headerName,然后再次将列定义列表设置到网格中。

不可能单独更新一个列的列定义。只能应用一组新的列定义。

下面的示例演示更新列定义以更改列的配置方式。注意事项如下:

  • 所有列都只提供列定义上设置的字段属性。
  • “Set Header Names”和“Remove Header Names”设置并随后删除所有列的headerName属性。
  • “Set Value Formatter”和“Remove Value Formatter”设置并随后删除所有列上的valueFormatter属性。
  • 请注意,在更新列定义之间,列的任何调整大小、排序等都保持不变。

示例

现有列的列名是这样的

columnDefs= [
{ field: 'athlete' },{ field: 'age' },{ field: 'country' },
{ field: 'sport' },{ field: 'year' },{ field: 'date' },
{ field: 'gold' },{ field: 'silver' },{ field: 'bronze' },
{ field: 'total' }
]

 我们希望触发某个操作后列名变成这样的

 思路

在每个列定义中这样一个属性 headerName 设置了这个属性后列名的展示以它为主,

不设置该属性则以field为主(此时field即作为列的映射又做为列展示的名称)

 this.gridApi.setColumnDefs(this.columnDefs);
setHeaderNames() {
     this.columnDefs.forEach(function (colDef, index) {
        colDef.headerName = 'C' + index;
     });
     this.gridApi.setColumnDefs(this.columnDefs);
}

线上示例地址参考 https://plnkr.co/edit/?open=main.js&preview

 更改列状态

列定义的部分表示列状态。Column State是有状态信息,表示网格的变化值。

列定义的所有状态属性如下:

 

Stateful AttributeInitial AttributeDescription
widthinitialWidth列的宽度
flexinitialFlex用于设置此列宽度的伸缩值
hideinitialHide是否应该隐藏这一列
pinnedinitialPinned这列是否应该固定
sortinitialSort列的排序
sortIndexinitialSortIndex按顺序应用排序,如果是多列排序
rowGroupinitialRowGroup该列是否应该是行组
rowGroupIndexinitialRowGroupIndex该列是否应该是行组,以及以什么顺序。
pivotinitialPivot如果这一列是主列
pivotIndexinitialPivotIndex这一列是否应该是主列,以什么顺序
aggFuncinitialAggFunc通过行分组或透视聚合此列的函数。

 未完待续。。。。

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

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

相关文章

增加samba用户提示Failed to add entry for user

这个问题我在CSDN上搜到了很多文章&#xff0c;而且都差不多&#xff0c;一开始并没有解决我的问题&#xff0c;不太理解怎么做&#xff0c;经过多次尝试&#xff0c;最后解决了。记录一下具体操作步骤。 第一个是要配置/etc/samba/smb.conf 文件&#xff0c;在文件最后&#x…

技术漫谈第10期 | “百模大战”:向着行业更深处

自21世纪初以来&#xff0c;人工智能&#xff08;AI&#xff09;已经从科幻小说中的概念成长为现实生活中的重要工具。从符号推理到弱人工智能再到大规模深度学习模型&#xff0c;人工智能已经进入大模型时代的新阶段&#xff0c;是科技竞争的制高点&#xff0c;即将改变千行百…

手把手教你安装Git,萌新迈向专业的必备一步

手把手教你安装Git&#xff0c;萌新迈向专业的必备一步 一、版本控制系统是什么&#xff1f;1. 倒霉的小明2. 版本控制系统3. 常见的版本控制系统 二、GitLab 与 GitHub1. GitLab2. GitHub 三、Git安装1. 下载2. 安装3. 验证 四、初学使用1. 本地仓库2. 远程仓库-Github3. 远程…

关于安防视频汇聚平台EasyCVR视频平台的分析以及应用用途

为了保证对园区环境风险进行有效识别&#xff0c;传统视频监控存在视频结构化利用率低的问题&#xff0c;在实际使用过程中&#xff0c;安全管理人员工作效率低下&#xff0c;依靠人工肉眼查看灵活度低&#xff0c;风险漏报概率高&#xff0c;出现异常情况跟踪不及时&#xff0…

post为什么会发送两次请求

今天看掘金的文章&#xff0c;京东面试问了这个问题&#xff0c;我也处于好奇&#xff0c;想了解这块的内容所以做了以下的来了解&#xff1a; 请求是一对请求&#xff0c;有一次请求是预请求&#xff08;预检请求&#xff09;&#xff0c;它的请求方式是options 火狐浏览器可…

long型的时间戳自动转化为字符串

1、自定义序列化类 import com.fasterxml.jackson.databind.annotation.JacksonStdImpl; import com.fasterxml.jackson.databind.ser.std.ToStringSerializerBase;JacksonStdImpl public class ToDateStringSerializer extends ToStringSerializerBase {public ToDateStringS…

AP9234 9W升压恒流型 DCDC多串LED恒流驱动 2串3串 LED灯串

描述 AP9234是一款由基准电压源、振荡电路、误差放大电路、相位补偿电路、电流限制电路等构成的CMOS升压型DC/DC LED驱动。由于内置了低导通电阻的增强型N沟道功率MOSFET&#xff0c;因此适用于需要高效率、高输出电流的应用电路。另外&#xff0c;可通过在VSENSE端子连接电流…

SpringBoot扩展接口总结

SpringBoot 扩展接口 1、可扩展接口启动调用概述2、可扩展的点逐个说明2.1、ApplicationContextInitializer2.2、BeanDefinitionRegistryPostProcessor2.3、BeanFactoryPostProcessor2.4、InstantiationAwareBeanPostProcessor2.5、SmartInstantiationAwareBeanPostProcessor2.…

【Docker 】Docker 客户端,容器使用,启动容器,启动已停止运行的容器,停止一个容器,进入容器

作者简介&#xff1a; 辭七七&#xff0c;目前大一&#xff0c;正在学习C/C&#xff0c;Java&#xff0c;Python等 作者主页&#xff1a; 七七的个人主页 文章收录专栏&#xff1a; 七七的闲谈 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01;&#x1f496;&#x1f…

刘强东的低价武器再上膛

电商的光辉正撒向中国的每一个角落。 河北南部的一个村子&#xff0c;74岁的陈奶奶站在大门口&#xff0c;正等待着小哥送货上门&#xff0c;孤身在家的她平时吃的油盐酱醋&#xff0c;喝的奶粉豆浆&#xff0c;都由女儿崔丽丽在网上买。由于京东是村子里唯二可以上门的快递&a…

C++学习|CUDA安装和配置

CUDA安装和配置 Windows下安装CUDAVS项目配置CUDA Windows下安装CUDA 第一步&#xff1a;先看自己NIVIDIA显卡适合什么版本的CUDA。打开电脑的“NIVIDIA控制面板”->系统信息->组件。会看到我的显卡驱动最高支持的CUDA版本是11.4.56。 第二步&#xff1a;去CUDA官网&…

电脑固定资产管理系统

为了更好地管理固定资产&#xff0c;系统管理员划分了相应的用户使用权限。各级管理者在系统中拥有不同的权限&#xff0c;这些权限能够帮助他们更好地查看和管理其管辖的固定资产。 从基层管理者到高级管理者&#xff0c;每一级别的管理者都能够获得相应的授权和管理权…

将Spring boot 项目部署到tomcat服务艰难

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z X Y Z

SVN 集中式版本管理平台

1. SVN 命令行工具下载地址 https://www.visualsvn.com/downloads/ 2. 下载SVN 命令行工具后&#xff0c;解压后就可以了&#xff0c;不需要安装的 3. 将bin 文件添加到系统环境变量中&#xff0c;不知道怎么打开系统环境变量的自己问度娘 4. 添加到系统环境变量中&#xff0c;…

Scala入门,idea关联Scala

Scala 介绍 Scala是一种多规范的编程语言&#xff0c;它结合了面向对象编程&#xff08;OOP&#xff09;和函数式编程&#xff08;FP&#xff09;的特征&#xff0c;Scala的名字源于”Scalable language“&#xff0c;意为”可伸缩语言“。2003年开发的&#xff0c;并在JVM&a…

计算机网络高频面试题解(三)

23. 流量控制 24. 粘包、拆包问题 25. TCP如何解决粘包、拆包问题 26. UDP如何实现TCP可靠传输 27. IP协议 28. IP的两大功能 29. 为什么IP要采用面向无连接&#xff1f; 30. IP地址&#xff08;IPv4地址&#xff09; 31. IP地址的分类 32. 广播地址

Linux防火墙,可以防护什么?和常用的命令和各种日常使用(个人笔记)

文章目录 防火墙开启默认是否可以ping通http涉及端口的服务&#xff08;默认无法连接&#xff09;参考文档 防火墙开启默认是否可以ping通 可以的&#xff0c;并不会防护icmp类型的访问&#xff0c;但是会拦截http类型的访问查看ipifconfig查看防火墙状态 systemctl status fi…

关于WinRAR代码执行漏洞的漏洞通报预警

1、产品描述&#xff1a;WinRAR是一款用于管理压缩包文件的共享软件。 2、影响产品或组件及版本&#xff1a;WinRAR WinRAR <6.23 3、受影响资产情况&#xff1a;百万及以上 4、利用过程及结果&#xff1a; 首先利用两个压缩工具&#xff0c;一个是7z&#xff0c;一个是rar…

【Python】从入门到上头— 错误和异常以及调试(5)

文章目录 一.错误和异常1.语法错误2.异常 二.异常处理1.try/except2.try/except...else3.try-finally 三.抛出异常四.用户自定义异常五.调试print()断言loggingIDE 一.错误和异常 Python 有两种错误很容易辨认&#xff1a;语法错误和异常。 Python assert&#xff08;断言&…

多种定位技术融合,破局室内外高精度定位

随着我国自主研发的北斗三号全球卫星导航系统的开通&#xff0c;全球定位服务进入了一个新的时代。北斗系统提供了全天候、全天时、室内外高精度的定位服务&#xff0c;使得定位服务不再受限于时间和空间的限制&#xff0c;全民都能够享受到定位服务带来的便利。 北斗高精度定位…