簡體   English   中英

Kendo Grid Row的PK

[英]PK of Kendo Grid Row

<%: Html.Kendo().Grid<Model>()
        .Name("Grid")
        .BindTo((IEnumerable<Model>)ViewBag.List)
        .Columns(columns =>
        {
            columns.Bound(p => p.PK).Title("pk");
            columns.Bound(p => p.NAME).Title("Name");


            columns.Command(command => command.Custom("Delete").Click("Delete")).Width(100);

        })

        %>     


<div id="modalWindow">
            <h2>Delete?</h2>
            <button id="yes" class="k-button">Yes</button>
            <button id="no" class="k-button">No</button>
        </div>


        <script>             

            var wnd;
            $(document).ready(function () {
                wnd = $("#modalWindow").kendoWindow({
                    title: "Delete confirmation",
                    modal: true,
                    visible: false,
                    resizable: false,
                    width: 300
                }).data("kendoWindow");

            });


            function Delete(e) {
                e.preventDefault();

                var grid = this;
                var row = $(e.currentTarget).closest("tr");
                wnd.center().open();



                $("#yes").unbind('click').click(function () {       

                    $.ajax({                          

                        type: 'POST',
                        url: '/Home/Delete',
                        data: ???
                        contentType: 'application/json; charset=utf-8',


                        success: function (result) {

                        },
                        error: function (err, result) {
                        alert("Error in delete" + err.responseText);
                        }

                    });                   

                    grid.removeRow(row);
                    wnd.close();
                });


                $("#no").unbind('click').click(function () {
                    wnd.close();
                });
            }      
        </script>

你好,

我想刪除Kendo網格的相關自定義刪除按鈕的行。 該腳本很好用,但我對數據有疑問。 我不知道如何獲取該行的PK,我需要它來刪除記錄。

單擊自定義按鈕如何獲得它?

問候

您知道基礎dataItem的ID屬性嗎? 一旦有了該行,就可以從網格的數據源中獲取dataItem。 所以在var row = $(e.currentTarget).closest('tr'); 您可以添加var dataItem = grid.dataItem(row); 然后,您應該能夠獲得dataItem dataItem.id的id屬性(或類似的東西);

您需要使用dataItem函數才能將tr元素轉換為數據對象:

function Delete(e) {
    e.preventDefault();

    var grid = this;
    var row = $(e.currentTarget).closest("tr");
    var obj = grid.dataItem(row); //<---
    wnd.center().open();

    $("#yes").unbind('click').click(function () {       
       $.ajax({                          
          type: 'POST',
          url: '/Home/Delete',
          data: obj.PK, //<---
          contentType: 'application/json; charset=utf-8',
          success: function (result) {
          },
          error: function (err, result) {
             alert("Error in delete" + err.responseText);
          }
       });                   

       grid.removeRow(row);
       wnd.close();
    });

    $("#no").unbind('click').click(function () {
       wnd.close();
    });
} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM