Не удается обновить данные в datagridview - PullRequest
0 голосов
/ 16 марта 2011

Цель:
Наличие двух кнопок, которые должны позволять добавлять или удалять данные из таблицы данных.Изменения должны быть внесены в режиме реального времени, поэтому вы должны увидеть новый результат.

Проблема:
Не удается отобразить новый результат после того, как я использовал функцию добавления кнопки, поскольку результат не будет отображатьсяв реальном времениЧтобы просмотреть результат, мне нужно закрыть и снова открыть приложение, чтобы просмотреть новый результат.

Пожалуйста, помните, что я не использую базу данных.

Я использую класстаблицу, а затем я подключаю таблицу к источнику данных сетки данных.

      DataTable table = new DataTable();
        table.Columns.Add("a");
        table.Columns.Add("b");

        foreach (var a in myManagerProduct.GetAllProductList())
        {

                DataRow row;
                row = table.NewRow();

                row["a"] = a._articleNumber;
                row["b"] = a._name;
                dgridStock.Rows.Add(row);

                table.Rows.Add(row);
        }

        dgridStock.DataSource = table;

Ответы [ 2 ]

1 голос
/ 16 марта 2011

Попробуйте следующий фрагмент кода, чтобы добавить новую строку в сетку.

    DataView dv = ((dgridStock.BindingContext[dgridStock.DataSource] as CurrencyManager).List as DataView);
    DataRowView rowView = dv.AddNew();
    rowView["a"] = a._articleNumber;
    rowView["b"] = a._name;
    rowView.EndEdit();

И убедитесь, что dgridStock.DataSource = table; установлен только один раз. После этого каждое добавление не должно обновлять свойство DataSource.

0 голосов
/ 16 марта 2011

Как сказал Sanjeevakumar Hiremath, не забывайте команду EndEdit () для строки или DataTable в целом.После завершения всех операций вставки, обновления и удаления данных вызовите DataGridView.Refresh ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...