0

このコードを使用して、MVCイントラネットでのインライン編集に使用するDataTableに新しい行を作成します。

各行には4つのセルがあり、2つはデータの編集用で、2つは編集リンクと削除リンク用です。

このテーブルは、TestFieldsの値の編集、DB内のテーブル、新しいテーブルの作成などに使用されました。

NameとDescriptionの2つのヘッダーがあるため、2つのセルがあります。

今、私はこれと同じコードを使用して、まったく異なることをしています。

ヘッダーは既存のTestFields名になっているため、ヘッダーを1つまたは100個持つことができます。

したがって、モデルから取得したTestFieldsオブジェクトの数に応じて、x個のセルを持つ新しい行を追加できるようにする必要があります。

だからこれは私が持っていたものです

  Name   Description
  --------------------------------
  Name1  Description1    Edit or Save Delete
  Name2  Description3    Edit or Save Delete
  Name1  Description1    Edit or Save Delete

ここでは、2つのセルと編集/保存/削除リンクのみが必要であることがわかっているので、問題ありません

今必要な新しいテーブルは次のようになります

  Name1   Name2   Name3   Name4   Name4 ...   
  --------------------------------
  Value1  Value2  Value3  Value4  Value5   Edit or Save Delete
  Value1  Value2  Value3  Value4  Value5   Edit or Save Delete
  Value1  Value2  Value3  Value4  Value5   Edit or Save Delete

つまり、このコードのビットは

var aiNew = oTable.fnAddData(['', '',
                '<a class="edit" href="">Edit</a>', '<a class="delete"

することができます

var aiNew = oTable.fnAddData(['',
                '<a class="edit" href="">Edit</a>', '<a class="delete"

また

var aiNew = oTable.fnAddData(['', '', '', '' ,'' ,'','','','',
                '<a class="edit" href="">Edit</a>', '<a class="delete"

それは私が持っているTestFieldsの数に依存します。

これは、新しい行を作成するためのコード全体です。何か案は?

   $('#new').click(function (e) 
                e.preventDefault();

                **var aiNew = oTable.fnAddData(['', '',
            '<a class="edit" href="">Edit</a>', '<a class="delete" href="">Delete</a>']);**
                var nRow = oTable.fnGetNodes(aiNew[0]);
                editRow(oTable, nRow, false);
                nEditing = nRow;
            });
4

1 に答える 1

0

私はなんとかそれを解決することができました。これが解決策です

$('#new').click(function (e) {
            e.preventDefault();

            var fieldsCount = $("#FieldsCount").val();
            var row         = {};

            for (var i = 0; i < fieldsCount; i++) {
                row[i] = '';
            }

            row[fieldsCount]                = '<a class="edit" href="">Edit</a>';
            row[parseInt(fieldsCount) + 1]  = '<a class="delete" href="">Delete</a>';

            var aiNew   = oTable.fnAddData(row);
            var nRow    = oTable.fnGetNodes(aiNew[0]);

            editRow(oTable, nRow, false);
            nEditing = nRow;
        });
于 2012-12-05T22:03:48.593 に答える