c# layui 动态表格进行动态赋值

c# layui 动态表格进行动态赋值,第1张

js如下:

///<reference path="jquery-1.8.0.min.js" />

//加载函数

$(function () {

    Nbook.load()

})

var Nbook =

{

    load: function () {

        Nbook.clci()

    },

    selectDat: function () {

        var val

        $.ajax({

            type: "post",

            dataType: "json",

            data: { "method": "selectData", "Name": "'" + $.trim($("#Name").val())+"'" },

            url: "ashx/test.ashx",

            success: function (data) {

                if (data != null) {

                    var html = ""

                    val = eval(data)

                    //console.log(book.length)

                    //for (var i = 0i <book.lengthi++) {

                    //    html += "<ul class='main_Ul'><li>" + book[i].name + "</li><li>" + book[i].sch_id + "</li><li>" + book[i].sex + "</li><li>" + book[i].isOk + "</li></ul>"

                    //}

                    //$(".main").html(html)

                    layui.use('table', function () {

                        var table = layui.table

                        //展示已知数据

                        table.render({

                            elem: '#socialList'

                            , cols: [[ //表头

                                { type: 'checkbox', fixed: 'left' },

                                { field: 'name', title: '姓名', sort: true, fixed: 'left', unresize: true, sort: true, totalRowText: '合计' }

                                , { field: 'sch_id', title: '学校ID', sort: true, totalRow: true }

                                , { field: 'sex', title: '性别', sort: true, totalRow: true }

                                , { field: 'isOk', title: '是否OK' }

                            ]],

                            data: val

                            , even: true

                            , page: true //是否显示分页

                            , toolbar: true //开启工具栏,此处显示默认图标,可以自定义模板,详见文档

                            , limits: [3, 5, 7, 8, 10, 50]

                            , limit: 8 //每页默认显示的数量

                            , cellMinWidth: 80

                            , height: 'full-515'//设置表格最大高度

                            , totalRow: true//开启合计

                        })

                    })

                }

            }

        })

    },

    clci: function ()

    {

        if ($.trim($("#Name").val()) == "")

        {

            Nbook.selectDat()

        }

        $("input[type='button']").click(function () {

            Nbook.selectDat()

        })

    }

}

页面如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="myselect.aspx.cs" Inherits="WebTest.Demos.myselect" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />

    <link href="layui-v2.4.5/layui/css/layui.css" type="text/css" rel="stylesheet" />

    <title></title>

    <style type="text/css">

        * {

            margin: 0

            padding: 0

        }

        .main {

            width: 100%

            height: auto

            border: 1px solid #DEDEDE

        }

        .main_Ul {

            float: left

            width: 100%

            height: auto

            border: 1px solid #DEDEDE

            list-style: none

        }

            .main_Ul li {

                float: left

                width: 15%

                height: 25px

                border-right: 1px solid #DEDEDE

            }

    </style>

</head>

<body>

    <form id="form1" runat="server">

        <div class="layui-row">

            <div class="demoTable">

                搜索ID:

                <div class="layui-inline">

                    <input class="layui-input" name="Name" type="text" id="Name" value="" />

                </div>

                <input type="button" class="layui-btn btn" value="搜索" />

            </div>

        </div>

        <table class="layui-hide" id="socialList" lay-filter="socialList"></table>

    </form>

    <script type="text/javascript" src="jquery-1.8.0.min.js"></script>

    <script type="text/javascript" src="layui-v2.4.5/layui/layui.js"></script>

    <script type="text/javascript" src="myselect.js"></script>

</body>

</html>

一般处理程序如下:

using Models

using Newtonsoft.Json

using SqlSugar

using System.Linq

using System.Web

using WebTest.Dao

namespace WebTest.Demos.ashx

{

    /// <summary>

    /// test 的摘要说明

    /// </summary>

    public class test : IHttpHandler

    {

        public void ProcessRequest(HttpContext context)

        {

            context.Response.ContentType = "text/plain"

            string method = context.Request.Form["method"]

            string names = context.Request.Form["Name"]

            //names=names != string.Empty ? names : "(1==1)"

            var JsonString = string.Empty

            if (method == "selectData")

            {

                using (var db = SugarDao.GetInstance())

                {

                    //.Where(i =>i.name == names)

                    var student = db.Queryable<Student>().ToList()

                    #region 查询数据

                    JsonString = "["

                    //lambda写法

                    for (int i = 0i <student.Counti++)

                    {

                        JsonString += "{"

                        JsonString += "\"name\":\"" + student[i].name + "\",\"sch_id\":\"" + student[i].sch_id + "\",\"sex\":\"" + student[i].sex + "\",\"isOk\":\"" + student[i].isOk + "\""

                        JsonString = (i == student.Count - 1) ? JsonString += "}" : JsonString += "},"

                    }

                    JsonString += "]"

                    #endregion

                    object jsonob = JsonConvert.SerializeObject(JsonString)

                    context.Response.Write(jsonob)

                }

            }

        }

        public bool IsReusable

        {

            get

            {

                return false

            }

        }

    }

}

​ <font color="red">模块加载名称: laypage </font>

​ laypage 的使用非常简单,指向一个用于存放分页的容器,通过服务端得到一些初始值,即可完成分页渲染。

通过核心方法: laypage.render(options) 来设置基础参数。

当分页被切换时触发,函数返回两个参数: obj (当前分页的所有选项值)、first(是否首次,一般用于初始加载的判断)

​ <font color="red">模块加载名称: table </font>

​ 创建一个table实例最简单的方式是,在页面放置一个元素 <table id="demo"></table>,然后通过 table.render() 方法指定该容器。

数据接口 user.json

​ 在一段 table 容器中配置好相应的参数,由 table 模块内部自动对其完成渲染,而无需你写初始的渲染方法。

​ 1) 带有 class="layui-table" 的 <table> 标签。

​ 2) 对标签设置属性 lay-data="" 用于配置一些基础参数

​ 3) 在 <th> 标签中设置属性 lay-data="" 用于配置表头信息

​ 页面已经存在了一段有内容的表格,由原始的table标签组成,只需要赋予它一些动态元素。

执行用于转换表格的JS方法

使用layui的table功能时,在参考官方文档 layui数据表格 情况下,修改 工具栏左侧显示默认的内置模板。

      toolbar: 'default'  //让工具栏左侧显示默认的内置模板

       左侧的内置以layui-icon显示的 *** 作按钮就展示出来,如图所示-左侧部分

但有时根据项目需求,不需要显示 添加 编辑 删除中的某一个或者某两个功能时,我们可以如下 *** 作:

点击功能方法参考官网文档即可;

例如:不想自定义一个复杂的导出功能,在使用官网给的例子的情况下,使用自己的导出方法。删除掉默认模板导出功能,如下图所示:

总结:利用官网文档学习使用layui框架,再此基础上进行修改和完善达到我们想要的功能。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11610481.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存