web-dev-qa-db-ja.com

DataTableに新しい行を挿入します

次のようなスタッフデータで満たされたデータテーブルがあります。

Staff 1 - Day 1 - Total
Staff 1 - Day 2 - Total
Staff 1 - Day 3 - Total
Staff 2 - Day 1 - Total
Staff 2 - Day 2 - Total
Staff 2 - Day 3 - Total
Staff 2 - Day 4 - Total

結果がsthのようになるように修正したい..

Staff 1 - Day 1 - Total
Staff 1 - Day 2 - Total
Staff 1 - Day 3 - Total
Total   -       - Total Value
Staff 2 - Day 1 - Total
Staff 2 - Day 2 - Total
Staff 2 - Day 3 - Total
Staff 2 - Day 4 - Total
Total   -       - Total Value

結論として、各スタッフレコードの最後に合計行を挿入する必要があります。

だから、私の質問は、データテーブルに行を挿入する方法ですか? Tkz ..

48
william
// get the data table
DataTable dt = ...;

// generate the data you want to insert
DataRow toInsert = dt.NewRow();

// insert in the desired place
dt.Rows.InsertAt(toInsert, index);
63
Timwi

@WilliamデータテーブルのNewRowメソッドを使用して、データテーブルのスキーマとして空のデータ行を取得できます。このデータ行にデータを入力してから、.Rows.Add(DataRow) OR .Rows.InsertAt(DataRow, Position)を使用してデータテーブルに行を追加できます。以下はスタブコードです。これは、必要に応じて変更できます。

//Creating dummy datatable for testing
DataTable dt = new DataTable();
DataColumn dc = new DataColumn("col1", typeof(String));
dt.Columns.Add(dc);

dc = new DataColumn("col2", typeof(String));
dt.Columns.Add(dc);

dc = new DataColumn("col3", typeof(String));
dt.Columns.Add(dc);

dc = new DataColumn("col4", typeof(String));
dt.Columns.Add(dc);

DataRow dr = dt.NewRow();

dr[0] = "coldata1";
dr[1] = "coldata2";
dr[2] = "coldata3";
dr[3] = "coldata4";

dt.Rows.Add(dr);//this will add the row at the end of the datatable
//OR
int yourPosition = 0;
dt.Rows.InsertAt(dr, yourPosition);
88
samar
// create table
var dt = new System.Data.DataTable("tableName");

// create fields
dt.Columns.Add("field1", typeof(int));
dt.Columns.Add("field2", typeof(string));
dt.Columns.Add("field3", typeof(DateTime));

// insert row values
dt.Rows.Add(new Object[]{
                123456,
                "test",
                DateTime.Now
           });
23
gpaoli

あなたはこれを行うことができます、私は使用しています

データ表1.10.5

このコードを使用して:

var versionNo = $.fn.dataTable.version;
alert(versionNo);

これは、row.add(テーブルには10列あります)を使用してDataTableに新しいレコードを挿入する方法です。HTMLタグ要素も含めることができます。

function fncInsertNew() {
            var table = $('#tblRecord').DataTable();

            table.row.add([
                    "Tiger Nixon",
                    "System Architect",
                    "$3,120",
                    "2011/04/25",
                    "Edinburgh",
                    "5421",
                    "Tiger Nixon",
                    "System Architect",
                    "$3,120",
                    "<p>Hello</p>"
            ]).draw();
        }

同時に複数の挿入を行うには、代わりにrows.addを使用します。

var table = $('#tblRecord').DataTable();

table.rows.add( [ {
        "Tiger Nixon",
        "System Architect",
        "$3,120",
        "2011/04/25",
        "Edinburgh",
        "5421"
    }, {
        "Garrett Winters",
        "Director",
        "$5,300",
        "2011/07/25",
        "Edinburgh",
        "8422"
    }]).draw();
0
Willy David Jr