DataTable.NET 使用server-side processing

https://datatables.net/examples/server_side/simple.html

當頁面上要顯示的數據在10萬筆以上時,可以使用server-side processing. 這樣在change entries, paging, sorting的時候,會通過事先定義好的ajax去backend重新取得數

RadGridTable = $('#tbNKeywords')
    .on( 'processing.dt', function ( e, settings, processing ) {
        // paging or sorting .etc processing or not,
        // processing will be true if processing finished.
        $('#loading_overlay').css( 'display', processing ? 'block' : 'none' );
    })
    .on('xhr.dt', function ( e, settings, json, xhr ) {
        // Ajax call back, add some code here...
        if (json == null || json["success"] == false) {
            $('#loading_overlay').css( 'display', 'none' );
        }
    })
    .on( 'draw.dt', function () {
        // check all rows if select-all checked
        if($(".select-all").is(":checked")) {
            CheckedAll = 1;
            RadGridTable.rows().select();
        }

        // reset select checkbox by saved selected row ids
        RadGridTable.rows().every( function ( rowIdx, tableLoop, rowLoop ) {
            if (AllSelectedRowIds.includes(this.id()))
                this.select();
            } );
    })
    .on( 'page.dt', function () {
        if (CheckedAll == 1)
            return;

        // save selected row id when paging
        var selectedRowIds = RadGridTable.rows( { selected: true } ).ids();
        for (i = 0; i < selectedRowIds.count(); i++)
        {
            if (!AllSelectedRowIds.includes(selectedRowIds[i]))
                AllSelectedRowIds.push(selectedRowIds[i]);
        }
    })
    .on( 'click', 'tbody tr', function () {
        if (CheckedAll == 1)
            return false;
    })
    .DataTable({
        "columns": [
            { "data": null },
            { "data": "Created_Date" },
            { "data": "xxxxxxxx" },
            { "data": "xxxxxxxx" },
            { "data": "xxxxxxxx" },
            { "data": "xxxxxxx" },
            { "data": "xxxxxxx" }
        ],
        columnDefs: [{
            orderable: false,
            className: 'select-checkbox',
            targets:   0,
            data: null,
            defaultContent: ''
        }],
        select: {
            style:    'multi',
            selector: 'td:first-child'
        },
        order: [[ 1, 'desc' ]],
        "paging": true,
        "searching": false,
        colReorder: false,
        fixedHeader: true,
        "processing": true,
        "serverSide": true,
        rowId: 'KeywordId',
     "language": { 
            "infoFiltered": ""  // remove "(filtered from x total entries)" part from datatable footer information.
        },
        "dom": '<"top"flp<"clear">>rt<"bottom"ip<"clear">>', 
        "ajax": {
            "url": "/common/service/xxxxxxxxHandler.ashx",
            "type": "POST",
            "data": function (d) {
                d.action = "xxxxxxxxx";
                d.data = JSON.stringify(xxxxxxx);
                d.Id = <%=Id%>;
            }
        }
    });

 

define dataTable頁面上的一些文字部分

https://datatables.net/reference/option/language

例如: 不想要顯示 "(filtered from x total entries)" 在 footer的部分

$(document).ready(function() {
    $('#example').DataTable( {
        "language": {                
            "infoFiltered": ""
        }
    } );
} );

转载于:https://www.cnblogs.com/sipher/p/10984285.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我会尽力回答你的问题。对于 C# ADO.NET 的小管理窗口,一般需要实现增删改查的功能。下面是一个简单的实现过程: 1. 首先需要创建一个数据库,并创建一个表用于存储数据。可以使用 SQL Server Management Studio 进行创建。 2. 在 C#使用 ADO.NET 连接数据库,可以使用 SqlConnection、SqlCommand、SqlDataAdapter 等类。 3. 在窗口中添加控件,如 DataGridView、TextBox、Button 等,用于显示数据和进行增删改查操作。 4. 在窗口加载时,使用 SqlDataAdapter 填充 DataGridView 控件。代码如下: ``` SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM 表名", connectionString); DataTable table = new DataTable(); adapter.Fill(table); dataGridView1.DataSource = table; ``` 5. 在增加按钮的 Click 事件中,获取用户输入的数据,使用 SqlCommand 执行 INSERT INTO 语句插入数据。代码如下: ``` string sql = "INSERT INTO 表名 (字段1, 字段2) VALUES (@值1, @值2)"; SqlCommand cmd = new SqlCommand(sql, connection); cmd.Parameters.AddWithValue("@值1", textBox1.Text); cmd.Parameters.AddWithValue("@值2", textBox2.Text); cmd.ExecuteNonQuery(); ``` 6. 在修改按钮的 Click 事件中,获取用户输入的数据和选中的行,使用 SqlCommand 执行 UPDATE 语句更新数据。代码如下: ``` string sql = "UPDATE 表名 SET 字段1=@值1, 字段2=@值2 WHERE ID=@ID"; SqlCommand cmd = new SqlCommand(sql, connection); cmd.Parameters.AddWithValue("@值1", textBox1.Text); cmd.Parameters.AddWithValue("@值2", textBox2.Text); cmd.Parameters.AddWithValue("@ID", dataGridView1.SelectedRows[0].Cells["ID"].Value); cmd.ExecuteNonQuery(); ``` 7. 在删除按钮的 Click 事件中,获取选中的行,使用 SqlCommand 执行 DELETE FROM 语句删除数据。代码如下: ``` string sql = "DELETE FROM 表名 WHERE ID=@ID"; SqlCommand cmd = new SqlCommand(sql, connection); cmd.Parameters.AddWithValue("@ID", dataGridView1.SelectedRows[0].Cells["ID"].Value); cmd.ExecuteNonQuery(); ``` 以上就是一个简单的 C# ADO.NET 增删改查小管理窗口的实现过程。当然,还有很多需要完善的地方,比如异常处理、数据验证等。希望对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值