Обновление DataTable, привязанного к ASP.Net DataGrid - PullRequest
0 голосов
/ 09 сентября 2010

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

Вот пример кода:

При нажатии на ярлык:

protected void OnUserDataGridCommand(object source, DataGridCommandEventArgs e)
        {
            DataTable dt = DataGridUsers.DataSource as DataTable;

            if (e.CommandName == "Lock Out")
            {
                // Approach 1
                e.Item.Cells[0].Text = "Lock";
                DataGridUsers.DataSource = dt;
                DataGridUsers.DataBind();

                // Approach 2              
                dt.Rows[e.Item.ItemIndex]["FirstName"] = "LOCK";
                dt.Rows[e.Item.ItemIndex].AcceptChanges();

                DataGridUsers.DataSource = dt;
                DataGridUsers.DataBind();                
            }
        }

Таким образом, в имени строки будет указано «Блокировка», но при нажатии на другую строку ранее заблокированная вернется к имени. Когда я устанавливаю точку останова независимо от блокировки отображения строки, источником данных всегда являются исходные данные (без данных «LOCK»).

1 Ответ

0 голосов
/ 09 сентября 2010

Эта строка обычно не работает для меня

DataTable dt = DataGridUsers.DataSource as DataTable;

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

Возможно, вы также захотите взглянуть, где источник данных впервые привязан к сетке. Работает ли он на обратной передаче, перезаписывая, таким образом, ваши изменения.

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