ホームページ  >  記事  >  ウェブフロントエンド  >  jQuery EasyUI を使用して列の非表示と表示機能を実装する方法

jQuery EasyUI を使用して列の非表示と表示機能を実装する方法

PHPz
PHPzオリジナル
2023-04-17 10:29:131728ブラウズ

jQuery EasyUI は強力な Web UI コンポーネント ライブラリであり、豊富な機能と使いやすい機能を備えており、開発者が美しい Web サイト ページを迅速に構築するのに役立ちます。今回はjQuery EasyUIを使って列の非表示・表示機能を実装する方法を紹介します。

1. 列の非表示と表示機能が必要なのはなぜですか?

多くの Web サイトでは、表がデータを表示する最も一般的な方法ですが、すべての列を表示したくない場合もあります。たとえば、大量のデータがある場合、一部の列の重要性が低く見えたり、一部の列は存在しても現在のシナリオでは表示する必要がない場合があります。このとき、列の非表示・表示機能が特に便利です。

2. 実装テクノロジの選択

この記事では、jQuery EasyUI コンポーネント ライブラリの datagrid コンポーネントを使用して、列の非表示と表示機能を実装することを選択します。データグリッド コンポーネントの豊富な設定項目と強力なイベント システムにより、テーブルを簡単にカスタマイズできます。

3. 実装手順

1. 必要な JavaScript および CSS ファイルの導入

datagrid コンポーネントを使用する前に、EasyUI に必要なコア ファイルとスタイル ファイルを導入する必要があります。具体的な導入方法は以下の通りです:

<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>

2. データソースの構築

デモンストレーションの便宜上、この記事で使用するデータソースは次のとおりです:

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":"男"}
];

3. データグリッド オブジェクトの構築

データグリッド オブジェクトを構築するときは、列の名前、列の幅、列のデータ バインディング フィールドを指定する必要があります。テーブルのソース。

$("#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
});

4. 列の非表示と表示機能を追加する

次に、データグリッドに列の非表示と表示機能を追加する必要があります。ここでは、EasyUI コンポーネント ライブラリの列メニュー拡張プラグインを使用して、この機能を実現します。

$.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
        });
      }
    }
  }
});

5.効果表示

最後に、得られた効果を見てみましょう!

(図 1: テーブル内のすべてのフィールドが表示されます)

(図 2: 「性別」フィールドが非表示になります)

(図 3: 「性別」フィールドが再び表示されます)

4. 概要

上記の手順の導入を通じて、読者は jQuery EasyUI を使用してテーブル列を非表示および表示する方法を理解できたと思います。このテクノロジーは Web フロントエンド開発において非常に実用的であり、より柔軟で包括的なデータ表示エクスペリエンスをユーザーに提供できます。

以上がjQuery EasyUI を使用して列の非表示と表示機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。