Практическое руководство. Изменение данных, отображаемых во время выполнения, в элементе управления DataGrid в Windows Forms

Обновлен: Ноябрь 2007

4dk1bkdb.alert_note(ru-ru,VS.90).gifПримечание.

Элемент управления DataGridView заменяет элемент управления DataGrid и расширяет его функциональные возможности; однако при необходимости элемент управления DataGrid можно сохранить для обратной совместимости и использования в будущем. Дополнительные сведения содержатся в разделе Различия элементов управления DataGridView и DataGrid в Windows Forms.

После создания элемента управления Windows Forms DataGrid с помощью средств, доступных на этапе разработки, может возникнуть необходимость динамического изменения элементов управления объектов DataSet сетки во время выполнения. Это может быть изменение как отдельных значений таблицы, так и источника данных, привязанного к элементу управления DataGrid. Изменение отдельных значений выполняется с помощью объекта DataSet, а не элемента управления DataGrid.

Чтобы изменить данные программным образом

  • Выберите требуемую таблицу в объекте DataSet, а затем нужную строку и поле в таблице и укажите в ячейке новое значение.

    4dk1bkdb.alert_note(ru-ru,VS.90).gifПримечание.

    Для выбора первой таблицы в объекте DataSet или первой строки ячейки введите 0.

    В следующем примере показано, как изменить вторую запись первой строки набора данных, используя кнопку Button1. Объекты DataSet (ds) и Tables (0 и 1) были созданы заранее.

    Protected Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       ds.tables(0).rows(0)(1) = "NewEntry"
    End Sub
    
    private void button1_Click(object sender, System.EventArgs e)
    {
       ds.Tables[0].Rows[0][1]="NewEntry";
    }
    
    private: 
       void button1_Click(System::Object^ sender, System::EventArgs^ e)
       {
          dataSet1->Tables[0]->Rows[0][1] = "NewEntry";
       }
    

    (Visual C#, Visual C++) Добавьте в конструктор формы следующий код, чтобы зарегистрировать обработчик событий.

    this.button1.Click += new System.EventHandler(this.button1_Click);
    
    this->button1->Click +=
       gcnew System::EventHandler(this, &Form1::button1_Click);
    

    Во время выполнения можно воспользоваться методом SetDataBinding для привязки элемента управления DataGrid к другому источнику данных. Например, элементы управления данными ADO.NET можно подключить к отдельным базам данных.

Чтобы изменить объект DataSource программным образом

  • Укажите для метода SetDataBinding имя источника данных и таблицу для привязки к нему.

    В следующем примере показано, как с помощью метода SetDataBinding заменить источник данных на элемент управления данными ADO.NET (adoPubsAuthors), связанный с таблицей Authors в базе данных Pubs.

    Private Sub ResetSource()
       DataGrid1.SetDataBinding(adoPubsAuthors, "Authors")
    End Sub
    
    private void ResetSource()
    {
       DataGrid1.SetDataBinding(adoPubsAuthors, "Authors");
    }
    
    private:
       void ResetSource()
       {
          dataGrid1->SetDataBinding(adoPubsAuthors, "Authors");
       }
    

См. также

Задачи

Практическое руководство. Удаление или сокрытие столбцов элемента управления DataGridView в Windows Forms

Практическое руководство. Добавление таблиц и столбцов в элемент управления DataGrid в Windows Forms

Практическое руководство. Привязка элемента управления DataGrid в Windows Forms к источнику данных

Основные понятия

Объекты DataSet ADO.NET