3

私の質問は非常に単純だと思いますが、ここでもそこでも、私に合った答えはまだ見つかりませんでした。便利なリンクなど...

私が達成しようとしていること: Ignite UI Grid (igGrid) を持っています。ここで、javascript を使用して行を削除したいと考えています。どちらでも構いません。簡単ですよね?

私がこれまでに試したこと:

  • $(行).remove(); -> この場合、すべての行が削除されます
  • $(行).remove(1); -> JavaScript ランタイム エラー: オブジェクトはプロパティまたはメソッド 'replace' をサポートしていません
  • get_rows(): JavaScript ではサポートされていませんが、C# でも動作します..
  • removeat-method: JavaScript ではサポートされていませんが、C# では機能しますが..
  • igGridSelection:保持したい選択済みのものも削除されます

そして今、コードスニペット:

    $sender = $(this).attr('id');
    $varTablName = gridMap.getVarTable($sender);
    var rowCount = $("#" + $varTablName).igGrid("widget").igGrid('rows').length;

    $("#" + $varTablName).igGrid("widget").igGrid('rows').each(function (index) {
        var row = $("#" + $varTablName).igGrid("widget").igGrid("rowAt", index);
        if (rowCount > 1) {
            $(row).remove(); //the not quite working part
        }

それは実行可能ですよね?わざわざC#で書いてjsで呼び出す必要はありませんよね?そうですか??^^

4

3 に答える 3

2

プログラムで行を削除するためのインフラジスティックス ガイド

$('#grid').igGridUpdating('deleteRow', "AFG");  
$('#grid').igGridUpdating('deleteRow', 1, $('#grid').igGrid("rowAt", 0));

API ドキュメント(thnx @KonstantinDinev) に従って、上記のコードはグリッドから行を削除し、トランザクションを作成して UI を更新します。この機能は、igGrid のautoCommitオプションに依存します。

APIは常に最初のオプションでなければなりません^^

dom 要素をターゲットにして、自分で削除または非表示にすることもできます。削除すると、表示される行数が変更されますが、データ ソースを更新する必要があります

http://jsfiddle.net/gtw916um/6/

$(function() {
  $("#grid").igGrid({});

  //hides 2nd row (index starts at 0)
  $("#grid").igGrid("allRows").each(function(index) {
    if (index == 1) {
      $(this).css("display", 'none');
    }
  });

  //deletes 4th row (index starts at 0)
  var row = $("#grid").igGrid("widget").igGrid("rowAt", 3);
  $(row).remove();

  //un-hiding 2nd row (index starts at 0)
  row = $("#grid").igGrid("widget").igGrid("rowAt", 1);
  $(row).css("display", 'table-row');

});

未テストのデータ更新方法

$("#grid").data("igGrid").dataSource.deleteRow(3, true);
$("#grid").data("igGrid").commit();
于 2016-04-08T13:17:35.800 に答える
1

deleteRow他の答えが示唆するように、あなたが探している方法です。このメソッドでは、行要素をパラメーターとして指定するか、行 ID を指定できます。これが API ドキュメントです。

コードは次のとおりです。

var row = $("#" + $varTablName).igGrid("rowAt", index);
$("#" + $varTablName).igGridUpdating("deleteRow", row);
于 2016-04-14T09:03:19.410 に答える
0

これまたは同等のjqueryを試すことができます。ただし、それがウルトラグリッドにどのように影響するかはわかりません。他のすべての機能を保持しているかどうかを再確認してください。

var row = document.querySelector('myRowReference');
row.parentNode.removeChild(row);
于 2016-04-08T13:05:54.390 に答える