web-dev-qa-db-ja.com

剣道UIグリッド行の値を取得

行アイテムの値(名前、電子メール、年齢)を取得しようとしていますが、以下のコードを使用して最初のアイテムのみを取得します。 tr:eq(1)コードを変更して他の行テキストを取得する方法、または2つの項目の値を取得する他の方法があります。

            $("#grid_").kendoDropTarget({
                drop: function (e) {                             

                  var data = grid.dataItem("tr:eq(1)");
                  // I only get first row but I need to dynamically get any row items.
                  alert(data.name);

                }
            });
7
uiuxhub

plzこれを試してみてください。

var entityGrid = $("#DataGrid").data("kendoGrid");       
var data = entityGrid.dataSource.data();
var totalNumber = data.length;

for(var i = 0; i<totalNumber; i++) {
    var currentDataItem = data[i];
    VersionIdArray[i] = currentDataItem.VersionId;
}
14
Sanjay Rabadiya

サンジェイに感謝しますが、私は行アイテムを選択することを考えていました、そしてこれは私が得たものです:

//Selecting Grid
var gview = $("#grid").data("kendoGrid");
//Getting selected item
var selectedItem = gview.dataItem(gview.select());
//accessing selected rows data 
alert(selectedItem.email);

だからそれは完璧にうまくいった。

13
uiuxhub

グリッドがselectable:trueに設定されている場合は、以下を使用します。

var mygrid = $("#grid").kendoGrid({
    selectable: true
});

mygrid.on("click", "tr", function() {
    var datarowindex = mygrid.data("kendoGrid").items().index(mygrid.data("kendoGrid").select());
    var datarowid = mygrid.data("kendoGrid").dataItem(mygrid.data("kendoGrid").select()).MyId;
    alert("index: " + datarowindex + " | value: " + datarowid);
});

kendo UIグリッドがselectable:falseに設定されている場合は、以下を使用します。

var mygrid = $("#grid").kendoGrid({
    selectable: false
});

mygrid.on("click", "tr", function() {
    var datarowindex = mygrid.data("kendoGrid").items().index($(this));
    var datarowid = mygrid.data("kendoGrid").dataItem($(this).closest("tr")).MyId;
    alert("index: " + datarowindex + " | value: " + datarowid);
});

ここで、MyIdは探しているプロパティです。

4
Jason Williams

私は通常、イベントのモデルを使用します。時々、実際には非常にまれに、行の選択が解除されるため、.select()は長さ0のオブジェクトを返し、未定義のプロパティにアクセスしようとするとエラーがスローされます。

次を使用した方が安全な場合があります:e.model.name

1
zapper