Создайте DataTable и привяжите его к DataGridView в C#
В этом примере показано, как можно построить DataTable и привязать его к элементу управления DataGridView. A DataTable представляет собой представление в реляционной базе данных в памяти. Он может определять столбцы конкретных типов данных и даже применять ограничения уникальности и внешнего ключа. В этом примере показано, как создать код DataTable в коде, который использует определенные типы данных для своих столбцов и который имеет ограничение на единственность с двумя столбцами.
Когда программа запускается, следующий код создает и отображает DataTable.
private void Form1_Load(object sender, EventArgs e)
{
// Создаем объект DataTable.
DataTable dt = new DataTable("People");
// Добавление столбцов в DataTable.
dt.Columns.Add("First Name",
System.Type.GetType("System.String"));
dt.Columns.Add("Last Name",
System.Type.GetType("System.String"));
dt.Columns.Add("Occupation",
System.Type.GetType("System.String"));
dt.Columns.Add("Salary",
System.Type.GetType("System.Int32"));
// Сделать все необходимые столбцы.
for (int i = 0; i < dt.Columns.Count; i++)
{
dt.Columns[i].AllowDBNull = false;
}
// Создать имя и фамилию требуют уникальности.
DataColumn[] unique_cols =
{
dt.Columns["First Name"],
dt.Columns["Last Name"]
};
dt.Constraints.Add(new UniqueConstraint(unique_cols));
// Добавить элементы в таблицу.
dt.Rows.Add(new object[]
{"Rod", "Stephens", "Nerd", 10000});
dt.Rows.Add(new object[]
{"Sergio", "Aragones", "Cartoonist", 20000});
dt.Rows.Add(new object[]
{"Eoin", "Colfer", "Author", 30000});
dt.Rows.Add(new object[]
{"Terry", "Pratchett", "Author", 40000});
// Создаем DataGridView, используя DataTable в качестве источника данных.
dgvPeople.DataSource = dt;
}
Этот код создает объект DataTable и добавляет к нему столбцы с указанием их типов данных. Затем он перебирает все столбцы, устанавливая их свойства AllowDBNull в false, чтобы каждый столбец был необходим.
Затем программа создает массив, содержащий столбцы Имя и Фамилия. Он использует этот массив для создания объекта UniqueConstraint и добавляет его в коллекцию DataTable объекта Constraints.
