@Anton_repr

Как удалить выбранную строку в Datagrid?

Имеется DataGrid, который содержит 2 колонки:
<DataGrid AutoGenerateColumns="False" x:Name="dgProducts" Margin="0,70,0,0">
            <DataGrid.Columns >
                <DataGridTextColumn  Header="ID" Width="300" Binding="{Binding Path='Ingredient_ID'}"/>
                <DataGridTextColumn Header="Наименование" Width="300" Binding="{Binding Path='name'}"/>
            </DataGrid.Columns>
        </DataGrid>

Есть кнопка "удалить". Как удалить выбранную строку из DataGrid?
  • Вопрос задан
  • 1603 просмотра
Решения вопроса 1
SpacePurr
@SpacePurr
c#, wpf
DataTable Table{get; set;}
DataAdapter dataAdapter;

private void DeleteMethod(object obj)
{

    var indexDataTable= //получаете здесь индекс из колонки "индекс"(например) выбранной строки
    var indexDataGridRow = //тут индекс самой строки, чтобы удалить ее из DataTable, либо вообще DataTable заново получать

    using (SqlCommand cmd = new SqlCommand())
    {
        cmd.Connection = new SqlConnection(connectionString);
        cmd.CommandText = "DELETE FROM YourTableName where id=" + indexDataTable;

        cmd.Connection.Open();
        cmd.ExecuteNonQuery();
        cmd.Connection.Close();
    }

    Table.Rows[indexDataGridRow].Delete();
    Table.AcceptChanges();
    dataAdapter.Update(Table);
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы