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),及时了解最新动态。

   扫描二维码立即关注

 
相关文章
|
16天前
|
数据可视化 网络协议 C#
C#/.NET/.NET Core优秀项目和框架2024年3月简报
公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),公众号推文中有项目和框架的介绍、功能特点、使用方式以及部分功能截图等(打不开或者打开GitHub很慢的同学可以优先查看公众号推文,文末一定会附带项目和框架源码地址)。注意:排名不分先后,都是十分优秀的开源项目和框架,每周定期更新分享(欢迎关注公众号:追逐时光者,第一时间获取每周精选分享资讯🔔)。
|
15天前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
【4月更文挑战第9天】本文对比了Python三大Web框架Django、Flask和Pyramid。Django功能全面,适合快速开发,但学习曲线较陡;Flask轻量灵活,易于入门,但默认配置简单,需自行添加功能;Pyramid兼顾灵活性和可扩展性,适合不同规模项目,但社区及资源相对较少。选择框架应考虑项目需求和开发者偏好。
|
9天前
|
前端开发 数据挖掘 API
使用Python中的Flask框架进行Web应用开发
【4月更文挑战第15天】在Python的Web开发领域,Flask是一个备受欢迎的轻量级Web框架。它简洁、灵活且易于扩展,使得开发者能够快速地构建出高质量的Web应用。本文将深入探讨Flask框架的核心特性、使用方法以及在实际开发中的应用。
|
21天前
|
前端开发 安全 Java
使用Java Web框架:Spring MVC的全面指南
【4月更文挑战第3天】Spring MVC是Spring框架的一部分,用于构建高效、模块化的Web应用。它基于MVC模式,支持多种视图技术。核心概念包括DispatcherServlet(前端控制器)、HandlerMapping(请求映射)、Controller(处理请求)、ViewResolver(视图解析)和ModelAndView(模型和视图容器)。开发流程涉及配置DispatcherServlet、定义Controller、创建View、处理数据、绑定模型和异常处理。
使用Java Web框架:Spring MVC的全面指南
|
25天前
|
前端开发 JavaScript 数据管理
描述一个使用Python开发Web应用程序的实际项目经验,包括所使用的框架和技术栈。
使用Flask开发Web应用,结合SQLite、Flask-SQLAlchemy进行数据管理,HTML/CSS/JS(Bootstrap和jQuery)构建前端。通过Flask路由处理用户请求,模块化代码提高可维护性。unittest进行测试,开发阶段用内置服务器,生产环境可选WSGI服务器或容器化部署。实现了用户注册登录和数据管理功能,展示Python Web开发的灵活性和效率。
14 4
|
1月前
|
开发框架 网络协议 .NET
深入.net框架
深入.net框架
11 0
|
1月前
|
数据库
最全三大框架整合(使用映射)——struts.xml和web.xml配置
最全三大框架整合(使用映射)——数据库资源文件jdbc.properties
10 0
|
Go Docker 容器
gin web框架docker多阶段构建实战
自从知道有多阶段构建以后,就实战了一把,顺便记录下来,供参考
|
20天前
|
监控 JavaScript 前端开发
《理解 WebSocket:Java Web 开发的实时通信技术》
【4月更文挑战第4天】WebSocket是Java Web实时通信的关键技术,提供双向持久连接,实现低延迟、高效率的实时交互。适用于聊天应用、在线游戏、数据监控和即时通知。开发涉及服务器端实现、客户端连接及数据协议定义,注意安全、错误处理、性能和兼容性。随着实时应用需求增加,WebSocket在Java Web开发中的地位将更加重要。
|
1月前
|
Web App开发 前端开发 开发工具
介绍Web开发的基础知识
介绍Web开发的基础知识
29 7