ligerui 表格中设置单元格不可编辑,添加行,删除行

本文介绍了如何使用ligerui表格实现特定单元格不可编辑及在目的地前添加新行的需求。通过onBeforeEdit事件判断并阻止编辑,以及在表格末尾添加新行的方法,确保出发地和目的地字段保持不变。同时,提供了删除行的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、需求:开发个表格grid用来显示维护线路段,出发地和目的地已经确定,需要维护中间路段
二、解析:
1、既然出发地和目的地已经确定,那么出发地和目的地是不可以编辑的,因为附带有其他字段是可以编辑的,所以不可以直接操作行
2、添加的线路段需要在目的地之前显示
三、开发
上网查了一些资料,还是没有头绪,想了好久终于还是实现了
1、点击添加时在目的地之前添加一行

toolbar : {
        id   : 'grid_toolbar',
        items: [{
            text   : '添加',
            disable: false,
            id     : 'new_btn',
            click  : function () {
                window.routegrid.addRow(
                        {
                            freight_station : '',
                            freight_station_name : '',
                            supplier : '',
                            supplier_name : ''
                        },manager.getData()[manager.getData().length-1],true)
            },
            icon   : 'add'
        }, {
            text : '删除',
            click: function () {
                deleteRow();
            },
            icon : 'delete'
        }, {
            text : '提交全部',
            click: function () {
                f_total();
            },
            icon : 'save'
        }]
    }

代码贴的有点多,关键代码

 window.routegrid.addRow(
                        {
                            freight_station : '',
                            freight_station_name : '',
                            supplier : '',
                            supplier_name : ''
                        },manager.getData()[manager.getData().length-1],true)
            },

其中routegrid是grid的id
addRow方法有几个参数,具体参考官网
{
freight_station : ”,
freight_station_name : ”,
supplier : ”,
supplier_name : ”
}
是添加那一行的默认值,
manager.getData()[manager.getData().length-1]是获取最后一行的数据,
true 是否在此之前,true是

=========================
2、设置单元格不可编辑

    enabledEdit : true,
    rownumbers:true,
    onBeforeEdit : beforeEdit,
    isScroll: false,
    checkbox:true,

表格里有个onBeforeEdit 参数

/** 
     * 编辑前重新渲染 
     */  
    function beforeEdit(rowData){
        //出发地
        if(rowData.column.columnindex == 2 && rowData.record.__id == manager.getData()[0].__id 
                && rowData.record.freight_station == dialogData.rowdatas[0].source_location_gid){
            return false; 
        }
        //目的地不可编辑
        if(rowData.record.__id == manager.getData()[manager.getData().length-1].__id 
                && rowData.record.freight_station == dialogData.rowdatas[0].dest_location_gid){
            return false; 
        }
        return true;
    } 

rowData.column.columnindex == 2 是判断第二列
rowData.record.__id == manager.getData()[0].__id 判断是第一行
rowData.record.freight_station == dialogData.rowdatas[0].source_location_gid 判断是否是出发地
return false; 不可编辑

 if(rowData.record.__id == manager.getData()[manager.getData().length-1].__id 
                && rowData.record.freight_station == dialogData.rowdatas[0].dest_location_gid){
            return false; 
        }

这一段没有判断列,所以限制了这一行

最后return true 是可以编辑

删除行可以参考官网例子

<think>嗯,用户想找关于Kubernetes学习资源和制定学习计划,特别是学习路径、最佳实践和资源推荐。首先,我需要整理一下已有的引用资料。引用[1]提到了官方文档v1.21,这是基础,应该作为首要推荐。然后引用[2]里提到学习资源管理,包括资源配额、调度优化,这应该是学习路径中的一部分。引用[3]来自阿里云的实践,提到了可观测性和监控,这部分可以放在高级主题或最佳实践里。引用[4]是关于资源命名的约束,属于集群管理的基础知识,可能适合放在初级阶段或者配置管理部分。 接下来,用户可能需要一个分阶段的学习路径。通常学习Kubernetes会从基础概念开始,比如Pods、Deployments、Services这些核心组件。然后逐步深入到配置管理、存储、网络,再进阶到安全、监控和优化。官方文档肯定是每个阶段都需要的,所以需要分阶段推荐对应的章节。 关于资源推荐,除了官方文档,可能还需要一些书籍和在线课程。比如《Kubernetes in Action》这本书很经典,适合系统学习。另外,CKA认证的备考资源也很实用,特别是对想认证的用户来说。 最佳实践部分,引用[3]提到的阿里云的可观测性实践,可以强调监控和日志的重要性。另外,资源命名规范(引用[4])也是一个实际应用中的注意事项,应该包含在最佳实践中。 用户可能还关心如何实践,比如通过Minikube或者Kind在本地搭建环境,或者使用云服务商的托管K8s服务。这些实操步骤需要分点说明,可能还要提到具体的工具和步骤。 还要注意用户提到的学习计划,可能需要一个时间安排的建议,比如分几周,每周学习哪些内容。不过用户没有明确问时间安排,可能不需要详细到每周,但阶段划分还是有必要的。 另外,用户问题中的相关示例是关于快速排序的,但当前问题转向了K8s,可能需要确保回答结构清晰,分阶段、分主题,并且引用对应的资料。比如在讲资源管理时引用[2],讲监控时引用[3],命名规则引用[4]。 最后,生成的相关问题需要和Kubernetes学习相关,比如入门建议、生产环境的最佳实践、认证准备、本地实验工具等。需要确保问题覆盖用户可能感兴趣的方面,同时基于已有的引用资料来提出。</think>### Kubernetes系统化学习路径及资源推荐 #### 一、基础阶段(2-4周) 1. **核心概念** - 学习Pod、Deployment、Service、ConfigMap、Secret等基础组件 - 理解控制器模式:ReplicaSet、StatefulSet、DaemonSet - 官方文档第一章"概念"部分是最佳起点[^1] 2. **环境搭建** - 本地实验推荐工具: ```bash minikube start --driver=docker # 单节点集群 kind create cluster # 多节点轻量集群 ``` - 生产环境建议使用托管服务:ACK(阿里云)、EKS(AWS)、GKE(Google) #### 二、进阶阶段(4-6周) 1. **网络与存储** - 掌握CNI插件原理,Ingress控制器配置 - 持久化存储方案:PV/PVC/StorageClass - 网络策略配置示例: ```yaml apiVersion: networking.k8s.io/v1 kind: NetworkPolicy spec: podSelector: { matchLabels: app: db } ingress: - from: [{ podSelector: { matchLabels: app: web } }] ``` 2. **资源管理** [^2] - 内存/CPU限制配置: ```yaml resources: requests: memory: "64Mi" cpu: "250m" limits: memory: "128Mi" cpu: "500m" ``` - 使用Vertical Pod Autoscaler自动调整资源配额 #### 三、高级实践(持续学习) 1. **可观测性体系** [^3] - 监控方案:Prometheus + Grafana - 日志收集:EFK(Elasticsearch+Fluentd+Kibana) - 分布式追踪:Jaeger + OpenTelemetry 2. **安全最佳实践** - RBAC权限控制模板: ```yaml apiVersion: rbac.authorization.k8s.io/v1 kind: Role rules: - apiGroups: [""] resources: ["pods"] verbs: ["get", "list"] ``` 3. **命名规范** [^4] - 遵循DNS子域名规则:小写字母、数字、中划线 - 示例有效名称:`app-frontend-v1` - 无效名称:`_prod-server`(违反首字符规则) #### 四、推荐学习资源 | 资源类型 | 推荐内容 | 特点 | |---------|---------|------| | 官方文档 | [Kubernetes v1.21 官方文档](https://example.com) | 权威系统 | | 书籍 | 《Kubernetes in Action》 | 实战导向 | | 在线课程 | CNCF官方培训课程 | 认证体系衔接 | | 实验平台 | Katacoda交互式实验室 | 零环境依赖 | #### 五、学习路线图 ```mermaid graph TD A[基础概念] --> B[YAML配置] B --> C[控制器模式] C --> D[网络与存储] D --> E[资源调度] E --> F[安全加固] F --> G[监控告警] G --> H[CI/CD集成] ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值