当前位置: 首页 > article >正文

SlickGrid复选框

分析

        1、先在columns首列添加复选框;

        2、在SlickGrid注册刚添加的复选框;

        3、添加复选框变化事件;

        4、注册按钮点击事件,点击获取已选中的行。

展示

代码

复选框样式(CSS)

.slick-cell-checkboxsel {
    background: #f0f0f0;
    border-right-color: silver;
    border-right-style: solid;
}

创建grid(HTML)

<div id="myGrid" class="slic-container" style="width:100%;height:300px;"></div>

创建grid(JavaScript)

var grid;
var data = [];
var options = {
    editable: true,
    enableCellNavigation: true,
    asyncEditorLoading: false,
    autoEdit: false,
    gridMenu: {iconCssClass: "sgi sgi-menu sgi-17px"}
};
var checkboxSelector = new Slick.CheckboxSelectColumn({cssClass: "slick-cell-checkboxsel"});
var columns = [  // 创建columns
    checkboxSelector.getColumnDefinition(),
    {"id": 0, "name": "A", "field": 0, "width": 100},
    {"id": 1, "name": "B", "field": 1, "width": 100},
    {"id": 2, "name": "C", "field": 2, "width": 100},
    {"id": 3, "name": "D", "field": 3, "width": 100},
    {"id": 4, "name": "E", "field": 4, "width": 100}
]

document.addEventListener("DOMContentLoaded", function() {
    for (var i = 0; i < 100; i++) {  // 生成数据
        var d = (data[i] = {});
        d[0] = "Row " + i;
    }

    grid = new Slick.Grid("#myGrid", data, columns, options);  // 创建grid
    grid.setSelectionModel(new Slick.RowSelectionModel({selectActiveRow: false}));
    grid.registerPlugin(checkboxSelector);  // 注册复选框

    grid.onSelectedRowsChanged.subscribe(function (e, args) {  // 复选框变化事件
        var sortedSelectedRows = args.rows.sort(function (a, b) { return a - b });
        console.log(sortedSelectedRows);  // 打印已选中的行
    });
});

点击按钮(HTML)

<button id="showSelect">showSelect</button>

按钮点击事件(JavaScript)

document.querySelector("#showSelect").addEventListener('click', function() {  // 注册点击事件
    var selectedRowsIndexes = grid.getSelectedRows();
    console.log(selectedRowsIndexes);  // 打印已选中的行
});

http://www.kler.cn/a/412181.html

相关文章:

  • 【计算机网络】多路转接之select
  • Python基础学习-11函数参数
  • Kubernetes 还是 SpringCloud?
  • idea_卸载与安装
  • ESP32学习笔记_FreeRTOS(3)——SoftwareTimer
  • (原创)Android Studio新老界面UI切换及老版本下载地址
  • 前端-Git
  • Linux高阶——1123—服务器基础服务器设备服务器基础能力
  • 多商户系统推动旅游业数字化升级与创新,定制化旅游促进市场多元化发展
  • Jackson库中JsonInclude的使用
  • 使用 Vue.js 创建一个简单的待办事项应用
  • QT QVerticalSpacer控件 全面详解
  • 16 —— Webpack多页面打包
  • 企业OA管理系统:Spring Boot技术深度解析
  • 自研芯片逾十年,亚马逊云科技Graviton系列芯片全面成熟
  • 景联文科技:高质量数据采集标注服务引领AI革新
  • Spring Boot Web应用开发:数据访问
  • 短信发送业务
  • 0基础学前端系列 -- 深入理解 HTML 布局
  • DB-GPT V0.6.2 版本更新:牵手libro社区、GraphRAG图谱构建能力增强等
  • 基于springboot停车场管理系统源码和论文
  • k8s删除网络组件错误
  • 实验3-2
  • QT实现 倒计时猜数字小游戏 QT5.12.3环境 C++实现
  • 【Threejs进阶教程-着色器篇】9.顶点着色器入门
  • 大语言模型LLM的微调代码详解