<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>
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);
}