Как я могу динамически добавлять строку в точном расположении в наборе данных

#c# #asp.net #dataset

#c# #asp.net #набор данных

Вопрос:

Я пишу код для добавления динамического столбца и строки в набор данных, но поле добавляется где-то в моем наборе данных, поэтому кто-нибудь может сказать, как я могу это решить

Мой код

 for (int i = 0; i < AchDB.Amount1.Count; i  )
    {
        DataColumn dc = new DataColumn("Amount1");
        local_ds.Tables[0].Columns.Add(dc);
        local_ds.Tables[0].Rows.Add(AchDB.Amount1[i]);
    }
  

Мне нужно, как показано на изображении

введите описание изображения здесь

Ответ №1:

Возможно, вы можете использовать это:

 DataColumn dc = new DataColumn("Amount1");
local_ds.Tables[0].Columns.Add(dc);

for (int i = 0; i < AchDB.Amount1.Count; i  )
{
    local_ds.Tables[0].Rows[i]["Amount1"] = AchDB.Amount1[i];
}
  

Я поместил код для добавления нового столбца вне цикла. Я думаю, что добавление столбца один раз будет применимо ко всем строкам.

Ответ №2:

Вы можете использовать метод «InsertAt» DataTable для вставки строки в определенную позицию. Для столбцов нет прямого способа добавления столбца в определенное положение. Когда вы добавляете столбец в datatable — он всегда добавляется последним.

 dt.Rows.InsertAt(newRowObject,pos);