pulimurukan Ответов: 1

Как заменить заголовки datatable элементами arraylist в C#


Привет,
Я нашел это немного сложным.Мне нужно динамически обновлять свои заголовки datatable для этого у меня есть arraylist обновленных заголовков

var distinctArray = newcolumnsList.Метод toArray();

У меня есть datatable dTable со старыми заголовками и значениями.Я хочу заменить заголовки dTable на

отчетливые ценности.Как это можно сделать? (5 старых заголовков удалить и добавить 5 новых заголовков в distinctArray,динамически )

Что я уже пробовал:

var distinctArray = newcolumnsList.ToArray(); // массив с новыми заголовками.


foreach (строковый элемент в distinctArray)
{
dTable[0].Rows.Add(item);
}
return dTable;
}

1 Ответов

Рейтинг:
11

TheRealSteveJudge

Вот вам пример, как это сделать.

using System.Collections.Generic;
using System.Data;

namespace DataTableTest
{
    class Program
    {
        static void Main(string[] args)
        {
            var dt = new DataTable();

            var dataColumns = new List<DataColumn>
            {
                new DataColumn("A"),
                new DataColumn("B"),
                new DataColumn("C"),
                new DataColumn("D"),
                new DataColumn("E")
            }.ToArray();

            dt.Columns.AddRange(dataColumns);

            dt.Rows.Add(1, 2, 3, 4, 5);

            var newDataColumns = new List<DataColumn>
            {
                new DataColumn("F"),
                new DataColumn("G"),
                new DataColumn("H"),
                new DataColumn("I"),
                new DataColumn("J")
            }.ToArray();

            dt.Columns.Clear();

            dt.Columns.AddRange(newDataColumns);
        }
    }
}


Вы не можете заменить DataColumns напрямую.
Сначала вы должны удалить старые DataColumns с помощью метода Clear.
dt.Columns.Clear();

Затем вы можете добавить новый массив DataColumn.
dt.Columns.AddRange(newDataColumns);

Хорошей идеей может быть использование отладчика, чтобы увидеть, что происходит после каждой строки кода.
Более того рекомендуется ознакомиться с этой статьей:
Практическое руководство по .Объем таблиц данных, наборы данных, сетки данных - Часть 1[^]


Maciej Los

5ed!

TheRealSteveJudge

Спасибо тебе, Мацей!