Вставьте новую строку в DataTable - PullRequest
46 голосов
/ 19 января 2011

У меня есть данные, заполненные данными о сотрудниках, как ..

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

Я хочу изменить, чтобы результат был похож на ..

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

Чтобы завершить, мне нужно вставить итоговую строку в конце каждой кадровой записи.

Итак, мой вопрос: как вставить строку в таблицу данных? ТКЗ ..

Ответы [ 4 ]

87 голосов
/ 19 января 2011

@ Уильям Вы можете использовать метод NewRow объекта данных, чтобы получить пустое поле данных и со схемой в качестве таблицы данных.Вы можете заполнить эту дату и затем добавить строку в таблицу данных, используя .Rows.Add(DataRow) ИЛИ .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);
61 голосов
/ 19 января 2011
// 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);
22 голосов
/ 17 августа 2016
// 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
           });
0 голосов
/ 25 января 2019

Вы можете сделать это, я использую

DataTable 1.10.5

, используя этот код:

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

Вот как явставить новую запись в мою таблицу данных, используя row.add (моя таблица содержит 10 столбцов), которая также может включать элементы тегов 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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...