У меня проблема с обновлением таблицы данных, связанной с сеткой данных. Перепробовал несколько подходов, но проблема в том, что он лежит в базе данных, возвращается к своему начальному состоянию каждый раз, когда вы нажимаете команду.
Вот пример кода:
При нажатии на ярлык:
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»).