RDIFramework.NET框架Web中datagrid与treegrid控件自动生成右键菜单与列标题右键菜单

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chinahuyong/article/details/51490149   在实际应用中常可以看到数据展示控件有右键菜单的功能,对应的列标题也可以右键弹出快捷菜单设置指定列的显示与隐藏等功能。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chinahuyong/article/details/51490149

  在实际应用中常可以看到数据展示控件有右键菜单的功能,对应的列标题也可以右键弹出快捷菜单设置指定列的显示与隐藏等功能。在我们的RDIFramework.NET Web框架中,只要是使用了EasyUI的DataGrid与TreeData控件我们已经做了扩展,所有datagrid与treegrid控件都自动拥有了列标题右键弹出快捷菜单设置指定列的显示与隐藏的功能。

  1、对于datagrid数据列表区域的右键弹出菜单只需要设置EasyUI的“onRowContextMenu”属性为:pageContextMenu.createDataGridContextMenu即可。

  2、对于treegrid数据列表区域的右键弹出菜单只需要设置EasyUI的“onContextMenu”属性为:pageContextMenu.createTreeGridContextMenu即可。

  后面会给出参考代码。下面就是两个右键菜单的展示效果。


  DataGrid参考Js代码如下:

$('#list').datagrid({
    url: actionURL + 'GridPageListJson',
    toolbar: '#toolbar',
    title: "产品列表",
    iconCls: 'icon16_table',
    width: winSize.width,
    height: winSize.height,
    nowrap: false, //折行
    rownumbers: true, //行号
    striped: true, //隔行变色
    idField: 'ID',//主键
    singleSelect: true, //单选
    sortName: 'CREATEON',
    sortOrder: 'DESC',
    onRowContextMenu: pageContextMenu.createDataGridContextMenu,
    onDblClickRow:function(rowIndex, rowData){
        document.getElementById('a_edit').click();
    },
    frozenColumns: [[
        { field: 'ck', checkbox: true },
        { title: '产品编码', field: 'PRODUCTCODE', width: 150 },
        { title: '产品名称', field: 'PRODUCTNAME', width: 300 }
    ]],
    columns: [[
        { title: '主键', field: 'ID', width: 120, hidden: true },            
        { title: '产品型号', field: 'PRODUCTMODEL', width: 150 },
        { title: '产品规格', field: 'PRODUCTSTANDARD', width: 75 },
        { title: '产品类别', field: 'PRODUCTCATEGORY', width: 70 },
        { title: '产品单位', field: 'PRODUCTUNIT', width: 63 },
        { title: '基准价', field: 'MIDDLERATE', width: 60 },
        { title: '基准系数', field: 'REFERENCECOEFFICIENT', width: 60 },
        { title: '单价', field: 'PRODUCTPRICE', width: 60 },
        { title: '批发价', field: 'WHOLESALEPRICE', width: 60 },
        { title: '促销价', field: 'PROMOTIONPRICE', width: 60 },
        { title: '内部价', field: 'INTERNALPRICE', width: 60 },
        { title: '特别价', field: 'SPECIALPRICE', width: 60 },
        {
            title: '作废标志', field: 'ENABLED', width: 56,
            align: 'center',
            formatter: function (v, d, i) {
                return '<img src="../../Content/Styles/icon/bullet_' + (v ? "tick.png" : "minus.png") + '" />';
            }
        },
        { title: '产品描述', field: 'PRODUCTDESCRIPTION', width: 200 }
    ]],
    pagination: true,
    pageSize: 20,
    pageList: [20, 10, 30, 50],
    onLoadSuccess: function (data) {
        var panel = $(this).datagrid('getPanel');
        var tr = panel.find('div.datagrid-body tr');
        refreshCellsStyle(tr);
        var trHead = panel.find('div.datagrid-header tr');
        trHead.each(function () {
            var tds = $(this).children('td');
            tds.each(function () {
                $(this).find('span,div').css({ "font-size": "14px" });
            });
        });
    }
});

  TreeGrid参考Js代码如下:

$('#organizeGrid').treegrid({
    toolbar: '#toolbar',          
    width: winsize.width,
    height: winsize.height,
    nowrap: true,
    rownumbers: true,
    animate: true,
    resizable: true,
    collapsible: false,
    onContextMenu: pageContextMenu.createTreeGridContextMenu,
    url: '/FrameworkModules/OrganizeAdmin/GetOrganizeTreeJson',
    idField: 'Id',
    treeField: 'FullName',
    onDblClickRow:function(row){
        document.getElementById('btnEdit').click();
    },
    frozenColumns: [[
        { title: '名称', field: 'FullName', width: 200 },
        { title: '编码', field: 'Code', width: 100 }
    ]],
    columns: [[
        { title: '简称', field: 'ShortName', width: 120 },
        { title: '主负责人', field: 'Manager', width: 70, align: 'center' },
        { title: '电话', field: 'OuterPhone', width: 100, align: 'center' },
        { title: '传真', field: 'Fax', width: 100, align: 'center' },
        { title: '有效', field: 'Enabled', width: 50, align: 'center', formatter: imgcheckbox },
        { title: '排序', field: 'SortCode', width: 80, align: 'center' },
        { title: '备注', field: 'Description', width: 300 }
    ]]
});


   相关文章列表:

   RDIFramework.NET — 基于.NET的快速信息化系统开发框架 — 系列目录

 

      一路走来数个年头,感谢RDIFramework.NET框架的支持者与使用者,大家可以通过下面的地址了解详情。

      RDIFramework.NET官方网站:http://www.rdiframework.net/

      RDIFramework.NET官方博客:http://blog.rdiframework.net/

      同时需要说明的,以后的所有技术文章以官方网站为准,欢迎大家收藏!

      RDIFramework.NET框架由专业团队长期打造、一直在更新、一直在升级,请放心使用! 

  欢迎关注RDIFramework.NET框架官方公众微信(微信号:guosisoft),及时了解最新动态。

   扫描二维码立即关注

 
相关文章
|
7天前
|
开发框架 中间件 PHP
Laravel框架:优雅构建PHP Web应用的秘诀
**Laravel 框架简介:** Laravel是PHP的优雅Web开发框架,以其简洁语法、强大功能和良好开发者体验闻名。它强调代码的可读性和可维护性,加速复杂应用的构建。基础步骤包括安装PHP和Composer,然后运行`composer create-project`创建新项目。Laravel的路由、控制器和Blade模板引擎简化了HTTP请求处理和视图创建。模型和数据库迁移通过Eloquent ORM使数据库操作直观。Artisan命令行工具、队列、事件和认证系统进一步增强了其功能。【6月更文挑战第26天】
11 1
|
8天前
|
JavaScript 前端开发 开发者
Angular框架:企业级Web应用的强大后盾
Angular,谷歌支持的JavaScript框架,因其组件化架构、双向数据绑定、依赖注入和路由系统,成为企业级Web开发首选。组件化促进代码重用,如`AppComponent`示例。双向数据绑定简化DOM操作,减少手动工作。依赖注入通过示例展示易管理依赖,提升测试性。路由则支持SPA开发,平滑页面过渡。Angular的特性增强了开发效率和应用质量,使其在Web开发领域保持领先地位。【6月更文挑战第25天】
16 2
|
2天前
|
存储 JavaScript 安全
深入理解与应用:在Web框架中高效管理环境变量
【7月更文挑战第3天】本文阐述了在Web开发中使用环境变量的重要性,如增强安全性和灵活性,并以Django、Flask和Express为例展示了如何管理这些变量。通过`os.environ`或特定库,开发者可以从环境中读取配置,避免敏感信息硬编码。最佳实践包括最小权限、加密、默认值、文档化和环境隔离,确保项目安全和易维护。
26 0
|
8天前
|
移动开发 开发框架 JavaScript
技术心得记录:手机Web开发框架
技术心得记录:手机Web开发框架
|
9天前
|
前端开发 JavaScript Python
Python之Tornado web 框架详解
Python之Tornado web 框架详解
10 0
|
Go Docker 容器
gin web框架docker多阶段构建实战
自从知道有多阶段构建以后,就实战了一把,顺便记录下来,供参考
882 0
|
5天前
|
分布式计算 并行计算 安全
在Python Web开发中,Python的全局解释器锁(Global Interpreter Lock,简称GIL)是一个核心概念,它直接影响了Python程序在多线程环境下的执行效率和性能表现
【6月更文挑战第30天】Python的GIL是CPython中的全局锁,限制了多线程并行执行,尤其是在多核CPU上。GIL确保同一时间仅有一个线程执行Python字节码,导致CPU密集型任务时多线程无法充分利用多核,反而可能因上下文切换降低性能。然而,I/O密集型任务仍能受益于线程交替执行。为利用多核,开发者常选择多进程、异步IO或使用不受GIL限制的Python实现。在Web开发中,理解GIL对于优化并发性能至关重要。
23 0
|
23小时前
|
设计模式 Rust 安全
深入理解PHP 7的新特性及其对现代Web开发的影响
本文通过数据驱动的分析,探讨了PHP 7的发布如何革新了Web开发的面貌。文章首先概述了PHP 7带来的性能提升与新特性,然后通过实际案例和性能测试数据,详细讨论了这些新特性对提高代码效率、增强安全性和支持现代编程范式的具体影响。最后,文章将评估PHP 7在当前Web开发环境中的地位,并对其未来的发展做出展望。
|
6天前
|
安全 编译器 API
探索PHP 8的新特性及其对现代Web开发的影响
随着PHP 8的正式发布,这一版本带来了多项重大改进和新特性,旨在提升性能、增加语言的灵活性并简化开发流程。本文将详细探讨PHP 8中的关键更新,包括JIT编译器、联合类型、命名参数、匹配表达式等,并分析这些新特性如何影响现代Web开发的实践。通过引用最新的性能数据和开发者反馈,我们将深入理解PHP 8带来的变革,以及它对现有项目和未来趋势的潜在影响。
|
7天前
|
安全 大数据 PHP
深入理解PHP 7中的新特性及其对现代Web开发的影响
【6月更文挑战第28天】本文将深入探讨PHP 7带来的革新,从性能提升到语法改进,揭示这些变化如何重塑Web开发领域。我们将一窥未来PHP的发展趋势,并分析开发者如何利用这些新特性来构建更快、更安全、更易于维护的应用程序。
11 1