Open In App

How to design complex layout for webpage using jQuery EasyUI ?

Last Updated : 12 Feb, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

EasyUI is a HTML5 framework for using user interface components based on jQuery, React, Angular and Vue technologies. 
It helps in building features for interactive web and mobile applications saving a lot of time for developers.

In this article, we will learn to design the basic and complex layout for any webpage using jQuery EasyUI plugin.

Downloads for EasyUI for jQuery:

https://www.jeasyui.com/download/index.php

Note: Please take care of proper file paths while implementing the following codes.

Example 1: The following example demonstrates the basic layout design for students data using jQuery EasyUI framework. The students data is in the form of JSON

HTML




<!doctype html>
<html>
  
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="initial-scale=1.0, 
            maximum-scale=1.0, user-scalable=no">
  
    <!-- EasyUI specific stylesheets-->
    <link rel="stylesheet" type="text/css" 
        href="themes/metro/easyui.css">
  
    <link rel="stylesheet" type="text/css" 
        href="demo.css">
  
    <link rel="stylesheet" type="text/css" 
        href="themes/icon.css">
  
    <!--jQuery library -->
    <script type="text/javascript" 
        src="jquery.min.js">
    </script>
      
    <!--jQuery libraries of EasyUI  -->
    <script type="text/javascript" 
        src="jquery.easyui.min.js">
    </script>
</head>
  
<body>
    <h2>
        jQuery EasyUI basic layout with 
        all direction regions
    </h2>
  
    <!-- easyui-layout class is used -->
    <div class="easyui-layout" style
            ="width:700px;height:350px;">
  
        <div data-options="region:'north'" 
            style="height:50px"></div>
  
        <!-- Set split to "true" for separate region-->
        <div data-options="region:'south',split:true"
            style="height:50px;">
        </div>
          
        <div data-options="region:'east',split:true" 
            title="East" style="width:100px;">
        </div>
  
        <div data-options="region:'west',split:true" 
            title="West" style="width:100px;">
        </div>
  
        <div data-options="region:'center',title:'EasyUI 
            layout for student data',iconCls:'icon-ok'">
  
            <!-- easyui-datagrid class is used for 
                    tabular data-->
            <table class="easyui-datagrid" data-options=
                "url:'datafile.json',method:'get',border:false,
                singleSelect:true,fit:true,fitColumns:true">
  
                <thead>
                    <tr>
                        <th data-options="field:'studentid'"
                            width="80">Student ID
                        </th>
                          
                        <th data-options="field:'studentname'"
                            width="100">Name</th>
                          
                        <th data-options="field:'marksscored',
                            align:'right'" width="80">
                            Marks
                        </th>
                          
                        <th data-options="field:'age',align:'right'"
                            width="80">Age
                        </th>
                          
                        <th data-options="field:'gender',
                            align:'center'" width="60">
                            Gender
                        </th>
                    </tr>
                </thead>
            </table>
        </div>
    </div>
</body>
  
</html>


datafile.json: The following is the content for the “datafile.json” file used in the above code.

{
    "total": 10,
    "rows": [
        { 
            "studentname": "Komal", "age": 10, "gender": "F", 
            "marksscored": 365, "studentid": "ST-1" 
        },
        { 
            "studentname": "Dalton", "age": 12, "gender": "M",
            "marksscored": 185, "studentid": "ST-10" 
        },
        
        { 
            "studentname": "Rakesh", "age": 12, "gender": "M",
            "marksscored": 385, "studentid": "ST-11" 
        },
        
        { 
            "studentname": "Ram", "age": 12, "gender": "M",
            "marksscored": 265, "studentid": "ST-12" 
        },
        
        { 
            "selected": true, "studentname": "Ila", "age": 12,
            "gender": "F", "marksscored": 355, "studentid": "ST-13"
        },
        
        { 
            "studentname": "Manika", "age": 12, "gender": "F",
            "marksscored": 158, "studentid": "ST-14" 
        },
        
        { 
            "studentname": "Madhavi", "age": 12, "gender": "F",
            "marksscored": 456, "studentid": "ST-15" 
        },
        
        { 
            "studentname": "Preity", "age": 12, "gender": "M",
            "marksscored": 235, "studentid": "ST-16" 
        },
        
        { 
            "studentname": "Parul", "age": 12, "gender": "F",
            "marksscored": 564, "studentid": "ST-17" 
        },
        
        { 
            "studentname": "Amar", "age": 19, "gender": "F",
            "marksscored": 638, "studentid": "ST-18" 
        }
    ]
}

Output:

  • Before execute: 

  • After execute:

   

Example 2: The following example demonstrates the design for a complex layout for any webpage using the jQuery EasyUI framework. The following code uses “htmlContent.html”, “dataTree.json” and “datafile.json” files used for data retrieval. Refer tree structure for files 

HTML




<!doctype html>
<html>
  
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="initial-scale=1.0, 
            maximum-scale=1.0, user-scalable=no">
  
    <!-- EasyUI specific stylesheets-->
    <link rel="stylesheet" type="text/css" 
            href="themes/metro/easyui.css">
    <link rel="stylesheet" type="text/css" 
            href="demo.css">
    <link rel="stylesheet" type="text/css" 
            href="themes/icon.css">
  
    <!--jQuery library -->
    <script type="text/javascript" 
        src="jquery.min.js">
    </script>
  
    <!--jQuery libraries of EasyUI  -->
    <script type="text/javascript" 
        src="jquery.easyui.min.js">
    </script>
</head>
  
<body>
    <h2>jQuery EasyUI complex layout design</h2>
  
    <!-- easyui-layout class is used-->
    <div class="easyui-layout" style=
            "width:700px;height:350px;">
  
        <div data-options="region:'north'"
            style="height:50px">
        </div>
          
        <!-- set split data-option to "true" 
                for separate region-->
        <div data-options="region:'south',split:true"
            style="height:50px;">
        </div>
          
        <div data-options="region:'east',split:true"
            title="Right" style="width:180px;">
  
            <!-- easyui-tree class is used for 
                file tree structure -->
            <ul class="easyui-tree" data-options=
                "url:'dataTree.json',method:'get',
                animate:true,dnd:true">
            </ul>
        </div>
  
        <div data-options="region:'west',split:true"
            title="Left" style="width:100px;">
  
            <!-- easyui-accordion class is used 
                for toggled menu-->
            <div class="easyui-accordion" 
                data-options="fit:true,border:false">
                  
                <div title="Algorithms" style="padding:10px;">
                    Algorithms
                </div>
                  
                <div title="Python" data-options="selected:true"
                    style="padding:10px;">
                    Python
                </div>
                  
                <div title="Perl" style="padding:10px">
                    Perl
                </div>
            </div>
        </div>
        <div data-options="region:'center',
                title:'Complex layout'">
  
            <div class="easyui-tabs" data-options=
                "fit:true,border:false,plain:true">
              
                <div title="About" data-options=
                    "href:'htmlContent.html'"
                    style="padding:10px">
                </div>
                  
                <div title="DataGrid" style="padding:5px">
                    <table class="easyui-datagrid" 
                        data-options="url:'datafile.json',
                        method:'get',singleSelect:true,
                        fit:true,fitColumns:true">
                          
                        <thead>
                            <tr>
                                <th data-options=
                                    "field:'studentid'"
                                    width="80">
                                    Student ID
                                </th>
                                <th data-options=
                                    "field:'studentname'"
                                    width="100">
                                    Name
                                </th>
                                <th data-options=
                                    "field:'marksscored',
                                    align:'right'" width="80">
                                    Marks
                                </th>
                                <th data-options=
                                    "field:'age',align:'right'"
                                    width="80">
                                    Age
                                </th>
                                <th data-options=
                                    "field:'gender',align:'center'"
                                    width="60">
                                    Gender
                                </th>
                            </tr>
                        </thead>
                    </table>
                </div>
            </div>
        </div>
    </div>
</body>
  
</html>


htmlContent.html: The following is the content for the “htmlContent.html” file used in the above code.

HTML




<!DOCTYPE html>
<html>
  
<head>
    <meta charset="UTF-8">
</head>
  
<body>
    <p style="font-size:12px">
        HTML content for Python.
    </p>
  
    <ul>
        <li>
            Python is a high-level, general
            -purpose and a very popular 
            programming language.
        </li>
          
        <li>
            Python programming language 
            (latest Python 3) is being 
            used in web development, 
        </li>
          
        <li>
            Machine Learning applications, 
            along with all cutting edge 
            technology in Software Industry.
        </li>
          
        <li>
            Python Programming Language is 
            very well suited for Beginners,
        </li>
          
        <li>
            also for experienced programmers 
            with other programming languages 
            like C++ and Java.
        </li>
    </ul>
</body>
  
</html>


dataTree.json: The following is the content for the “dataTree.json” file used in the above code.

[{
    "id":1,
    "text":"Users",
    "children":[{
        "id":11,
        "text":"Photos",
        "state":"closed",
        "children":[{
            "id":101,
            "text":"Family"
        },{
            "id":102,
            "text":"Colleagues"
        },{
            "id":103,
            "text":"Relatives"
        }]
    },{
        "id":12,
        "text":"Program Files",
        "children":[{
            "id":131,
            "text":"Intel"
        },{
            "id":132,
            "text":"nodejs",
            "attributes":{
                "p1":"my Attribute1",
                "p2":"my Attribute2"
            }
        },{
            "id":133,
            "text":"Common files"
        },{
            "id":134,
            "text":"Mail",
            "checked":true
        }]
    },{
        "id":13,
        "text":"home.html"
    },{
        "id":14,
        "text":"tutorials.html"
    },{
        "id":15,
        "text":"jobs.html"
    }]
}]

Output:

  • Before execute:

  • After execute:



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads