Home Web Front-end Front-end Q&A How to use jQuery EasyUI to implement column hiding and display functions

How to use jQuery EasyUI to implement column hiding and display functions

Apr 17, 2023 am 10:29 AM

jQuery EasyUI is a powerful web UI component library. It has rich functions and easy-to-use features, which can help developers quickly build beautiful website pages. In this article, we will introduce how to use jQuery EasyUI to implement column hiding and display functions.

1. Why do we need the column hiding and displaying function?

In many websites, tables are the most common way to display data, but sometimes we may not want to display all columns. For example, when there is a large amount of data, some columns may appear less important, or some columns may exist but are not necessary to display in the current scenario. At this time, the column hiding and display function is particularly useful.

2. Implementation technology selection

In this article, we choose to use the datagrid component in the jQuery EasyUI component library to implement the column hiding and displaying function. Because of the rich configurable items and powerful event system of the datagrid component, we can easily customize the table.

3. Implementation steps

1. Introduce the necessary JavaScript and CSS files

Before using the datagrid component, you need to introduce the core files and style files required by EasyUI. The specific introduction method is as follows:

<link rel="stylesheet" type="text/css" href="jquery-easyui-1.8.0/themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="jquery-easyui-1.8.0/themes/icon.css">
<script type="text/javascript" src="jquery-easyui-1.8.0/jquery.min.js"></script>
<script type="text/javascript" src="jquery-easyui-1.8.0/jquery.easyui.min.js"></script>
Copy after login

2. Build data source

For the convenience of demonstration, the data source we use in this article is as follows:

var data = [
  {"id":1,"name":"张三","age":20,"gender":"男"},
  {"id":2,"name":"李四","age":22,"gender":"男"},
  {"id":3,"name":"王五","age":23,"gender":"女"},
  {"id":4,"name":"赵六","age":21,"gender":"女"},
  {"id":5,"name":"钱七","age":25,"gender":"男"}
];
Copy after login

3. Build datagrid Object

When building a datagrid object, you need to specify the name of the column, the width of the column, and the data binding field of the column. You also need to specify the data source for the table.

$("#datagrid").datagrid({
  columns:[[
    {field:"id",title:"编号",width:100},
    {field:"name",title:"姓名",width:100},
    {field:"age",title:"年龄",width:100},
    {field:"gender",title:"性别",width:100}
  ]],
  data:data
});
Copy after login

4. Add column hiding and displaying function

Next we need to add column hiding and displaying function to datagrid. Here we use the column menu extension plug-in in the EasyUI component library to achieve this function.

$.extend($.fn.datagrid.defaults,{
  columnMenu:{
    items:[{
      text:"显示/隐藏",
      iconCls:"icon-columns",
      handler:function(item){
        var opts = $(this).datagrid("options");
        if(item.checked){
          $(this).datagrid("hideColumn",item.value);
        }else{
          $(this).datagrid("showColumn",item.value);
        }
        $(this).datagrid("columnMoving");
        $(this).datagrid("fitColumns");
      },
      disabled:true
    }]
  },
  onHeaderContextMenu:function(e,field){
    e.preventDefault();
    var grid = $(this);
    if(!grid.datagrid("getColumnFields",true).length){
      return;
    }
    if(field){
      grid.datagrid("columnMenu").menu("show",{
        left:e.pageX,
        top:e.pageY
      });
      var menuItem = grid.datagrid("columnMenu").menu("getItem",field);
      if(menuItem){
        grid.datagrid("columnMenu").menu("setIcon",{
          target:menuItem.target,
          iconCls:grid.datagrid("isColumnHidden",field) ? "icon-unchecked" : "icon-checked"
        });
        grid.datagrid("columnMenu").menu("setItemState",{
          target:menuItem.target,
          disabled:false
        });
      }else{
        grid.datagrid("columnMenu").menu("setItemState",{
          target:grid.datagrid("columnMenu").menu("getItem",0).target,
          disabled:true
        });
      }
    }
  }
});
Copy after login

5. Effect display

Finally, let’s take a look at the achieved effect!

(Figure 1: All fields in the table are displayed)

(Figure 2: The "Gender" field is hidden)

(Figure 3: The "Gender" field is displayed again )

4. Summary

Through the introduction of the above steps, I believe readers have understood how to use jQuery EasyUI to hide and display table columns. This technology is very practical in Web front-end development and can provide users with a more flexible and comprehensive data display experience. We hope this article will be helpful to readers.

The above is the detailed content of How to use jQuery EasyUI to implement column hiding and display functions. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How do you connect React components to the Redux store using connect()? How do you connect React components to the Redux store using connect()? Mar 21, 2025 pm 06:23 PM

Article discusses connecting React components to Redux store using connect(), explaining mapStateToProps, mapDispatchToProps, and performance impacts.

React's Role in HTML: Enhancing User Experience React's Role in HTML: Enhancing User Experience Apr 09, 2025 am 12:11 AM

React combines JSX and HTML to improve user experience. 1) JSX embeds HTML to make development more intuitive. 2) The virtual DOM mechanism optimizes performance and reduces DOM operations. 3) Component-based management UI to improve maintainability. 4) State management and event processing enhance interactivity.

What are the limitations of Vue 2's reactivity system with regard to array and object changes? What are the limitations of Vue 2's reactivity system with regard to array and object changes? Mar 25, 2025 pm 02:07 PM

Vue 2's reactivity system struggles with direct array index setting, length modification, and object property addition/deletion. Developers can use Vue's mutation methods and Vue.set() to ensure reactivity.

How do you define routes using the <Route> component? How do you define routes using the <Route> component? Mar 21, 2025 am 11:47 AM

The article discusses defining routes in React Router using the &lt;Route&gt; component, covering props like path, component, render, children, exact, and nested routing.

What are Redux reducers? How do they update the state? What are Redux reducers? How do they update the state? Mar 21, 2025 pm 06:21 PM

Redux reducers are pure functions that update the application's state based on actions, ensuring predictability and immutability.

What are the benefits of using TypeScript with React? What are the benefits of using TypeScript with React? Mar 27, 2025 pm 05:43 PM

TypeScript enhances React development by providing type safety, improving code quality, and offering better IDE support, thus reducing errors and improving maintainability.

What are Redux actions? How do you dispatch them? What are Redux actions? How do you dispatch them? Mar 21, 2025 pm 06:21 PM

The article discusses Redux actions, their structure, and dispatching methods, including asynchronous actions using Redux Thunk. It emphasizes best practices for managing action types to maintain scalable and maintainable applications.

How can you use useReducer for complex state management? How can you use useReducer for complex state management? Mar 26, 2025 pm 06:29 PM

The article explains using useReducer for complex state management in React, detailing its benefits over useState and how to integrate it with useEffect for side effects.

See all articles