Создайте 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.