Заполнение DataGridView из DataTable - C#
Формулировка задачи:
Здравствуйте уважаемые эксперты! Есть следующий код:
И вызываю я его так:Но при вызове, данные в DVG переписываются. Как сделать чтобы строка не переписывалась, а добавлялись новые строки в DVG при каждой итерации цикла?
static class FillDataGridView
{
private static DataTable AddInformation(string str)
{
DataTable _table = new DataTable("Table");
string[] _colNames = new[] { "Column 1", "Column 2", "Column 3" };
foreach (string colname in _colNames)
{
DataColumn column = new DataColumn(colname);
column.DataType = Type.GetType("System.String");
_table.Columns.Add(column);
}
DataRow dataRow;
dataRow = _table.NewRow();
dataRow[_colNames[0]] = "str1";
dataRow[_colNames[1]] = "str2";
dataRow[_colNames[2]] = str;
_table.Rows.Add(dataRow);
return _table;
}
public static void FillDataGrid(DataGridView dataGrid, string str)
{
DataTable table = AddInformation(str);
dataGrid.DataSource = table;
}
}private void Form1_Load(object sender, EventArgs e)
{
List<string> testList = new List<string>();
testList.Add("str1");
testList.Add("str2");
testList.Add("str3");
foreach (string str in testList)
{
FillDataGridView.FillDataGrid(dataGridView1, str);
}
}Решение задачи: «Заполнение DataGridView из DataTable»
textual
Листинг программы
internal static class FillDataGridView
{
private static DataTable _table;
private static DataTable AddInformation(string str)
{
var _colNames = new[] {"Column 1", "Column 2", "Column 3"};
if (_table == null)
CreateTable(_colNames);
DataRow dataRow;
dataRow = _table.NewRow();
dataRow[_colNames[0]] = "str1";
dataRow[_colNames[1]] = "str2";
dataRow[_colNames[2]] = str;
_table.Rows.Add(dataRow);
return _table;
}
private static void CreateTable(IEnumerable<string> _colNames)
{
_table = new DataTable("Table");
foreach (string colname in _colNames)
{
var column = new DataColumn(colname);
column.DataType = Type.GetType("System.String");
_table.Columns.Add(column);
}
}
public static void FillDataGrid(DataGridView dataGrid, string str)
{
DataTable table = AddInformation(str);
dataGrid.DataSource = table;
}
}