как связать datatable с datagridview в c #

Мне нужно привязать свой DataTable к моему DataGridView . я делаю это:

DTable = new DataTable(); SBind = new BindingSource(); //ServersTable - DataGridView for (int i = 0; i < ServersTable.ColumnCount; ++i) { DTable.Columns.Add(new DataColumn(ServersTable.Columns[i].Name)); } for (int i = 0; i < Apps.Count; ++i) { DataRow r = DTable.NewRow(); r.BeginEdit(); foreach (DataColumn c in DTable.Columns) { r[c.ColumnName] = //writing values } r.EndEdit(); DTable.Rows.Add(r); } SBind.DataSource = DTable; ServersTable.DataSource = SBind; 

Но все, что я получил, это DataTable ADDS NEW столбцы в моем DataGridView . Мне это не нужно, мне просто нужно писать в существующих столбцах. пожалуйста, помогите мне, ребята!

Попробуй это:

  ServersTable.Columns.Clear(); ServersTable.DataSource = SBind; 

Если вы не хотите очищать все существующие столбцы, вы должны установить DataPropertyName для каждого существующего столбца следующим образом:

 for (int i = 0; i < ServersTable.ColumnCount; ++i) { DTable.Columns.Add(new DataColumn(ServersTable.Columns[i].Name)); ServersTable.Columns[i].DataPropertyName = ServersTable.Columns[i].Name; } 

Даже лучше:

 DataTable DTable = new DataTable(); BindingSource SBind = new BindingSource(); SBind.DataSource = DTable; DataGridView ServersTable = new DataGridView(); ServersTable.AutoGenerateColumns = false; ServersTable.DataSource = DTable; ServersTable.DataSource = SBind; ServersTable.Refresh(); 

Вы сообщаете связующемуся источнику, что он привязан к DataTable, в свою очередь вам нужно сообщить своему DataGridView не автогенерировать столбцы, поэтому он будет извлекать данные только для столбцов, которые вы вручную вводили в элемент управления. .. наконец обновите элемент управления, чтобы обновить привязку данных.

В DataGridView установите DataPropertyName столбцов в имена столбцов вашего DataTable.

// Сначала я построил свой datatable и заполнил его, столбцы, строки и все. // Затем, как только функция datatable является функциональной, сделайте следующее, чтобы связать ее с DGV. ПРИМЕЧАНИЕ. Свойство AutoGenerateColumns DGV должно быть «true» для этого примера, или «назначение» имен столбцов из datatable в dgv не будет работать. Я также добавил «ранее» к datasable к набору данных, но я не думаю, что это необходимо.

  BindingSource SBind = new BindingSource(); SBind.DataSource = dtSourceData; ADGView1.AutoGenerateColumns = true; //must be "true" here ADGView1.Columns.Clear(); ADGView1.DataSource = SBind; //set DGV's column names and headings from the Datatable properties for (int i = 0; i < ADGView1.Columns.Count; i++) { ADGView1.Columns[i].DataPropertyName = dtSourceData.Columns[i].ColumnName; ADGView1.Columns[i].HeaderText = dtSourceData.Columns[i].Caption; } ADGView1.Enabled = true; ADGView1.Refresh(); 
 foreach (DictionaryEntry entry in Hashtable) { datagridviewTZ.Rows.Add(entry.Key.ToString(), entry.Value.ToString()); } 
 private void Form1_Load(object sender, EventArgs e) { DataTable StudentDataTable = new DataTable("Student"); //perform this on the Load Event of the form private void AddColumns() { StudentDataTable.Columns.Add("First_Int_Column", typeof(int)); StudentDataTable.Columns.Add("Second_String_Column", typeof(String)); this.dataGridViewDisplay.DataSource = StudentDataTable; } } //Save_Button_Event to save the form field to the table which is then bind to the TableGridView private void SaveForm() { StudentDataTable.Rows.Add(new object[] { textBoxFirst.Text, textBoxSecond.Text}); dataGridViewDisplay.DataSource = StudentDataTable; } 
  • Ранняя и поздняя привязка
  • Привязка видимости кнопки к значению bool в ViewModel
  • Как вы привязываете CollectionContainer к коллекции в модели представления?
  • Как я могу зарегистрировать глобальный настраиваемый редактор в Spring-MVC?
  • Как связать List с элементом управления DataGridView?
  • Связывание Datagrid в WPF
  • В .NET 4.0 привязка OneWayToSource
  • Свяжите элемент с двумя источниками
  • MvvmCross Android - альтернатива привязке RelativeSource для команды button
  • Как скрыть столбцы datagrid wpf в зависимости от свойства
  • Ошибка привязки элемента ElementName
  • Interesting Posts

    Wget – сложность без учета доменов и каталогов

    Как обнаружить системную информацию типа os или типа устройства

    Как использовать java.util.Scanner, чтобы правильно читать данные пользователя из System.in и действовать на него?

    Есть ли значительная экономия энергии на черном фоне на моем сайте?

    Ошибка: нет такого раздела. Аварийное спасение

    Как я могу использовать .bat-файл для удаления определенных токенов из переменной среды PATH?

    Сохранить все открытые окна / вкладки?

    mysql проверяет, находятся ли числа в списке, разделенном запятыми

    Есть ли клиент BitTorrent, который может загружать файлы «последовательно»?

    Вычислить вторую точку, зная начальную точку и расстояние

    Загрузить изображение с URL-адреса

    PrintWriter и PrintStream никогда не бросают IOExceptions

    Всплывающее окно по входящему вызову

    Макрос Vba для копирования строки из таблицы, если значение в таблице соответствует условию

    Как обновить gradle в студии Android

    Давайте будем гением компьютера.