--- title: IDBIndex.name slug: Web/API/IDBIndex/name tags: - API - IDBIndex - IndexedDB - Propriété - Reference translation_of: Web/API/IDBIndex/name ---
La propriété name, rattachée à l'interface {{domxref("IDBIndex")}}, contient une chaîne de caractères qui permet de désigner l'index courant.
{{AvailableInWorkers}}
var indexName = IDBIndex.name; IDBIndex.name = indexName;
Une chaîne de caractères qui fournit le nom à l'index.
Différentes exceptions peuvent être déclenchées lorsqu'on souhaite modifier le nom d'un index.
InvalidStateError"versionchange").TransactionInactiveErrorConstraintErrorDans l'exemple qui suit, on ouvre une transaction sur un magasin d'objets pour lequel on récupère l'index lName. Ensuite, on ouvre un curseur sur cet index avec la méthode {{domxref("IDBIndex.openCursor()")}} (celle-ci fonctionne comme la méthode {{domxref("IDBObjectStore.openCursor", "openCursor()")}} qui s'utilise sur les magasins d'objets mais ici, les enregistrements sont triés selon l'index et pas selon la clé primaire).
Le nom de l'index est affiché dans la console grâce à la propriété (ici, le nom sera "lName").
Enfin, on parcourt chacun des enregistrements et on ajoute les données dans un tableau HTML.
function displayDataByIndex() {
tableEntry.innerHTML = '';
var transaction = db.transaction(['contactsList'], 'readonly');
var objectStore = transaction.objectStore('contactsList');
var myIndex = objectStore.index('lName');
console.log(myIndex.name);
myIndex.openCursor().onsuccess = function(event) {
var cursor = event.target.result;
if(cursor) {
var tableRow = document.createElement('tr');
tableRow.innerHTML = '<td>' + cursor.value.id + '</td>'
+ '<td>' + cursor.value.lName + '</td>'
+ '<td>' + cursor.value.fName + '</td>'
+ '<td>' + cursor.value.jTitle + '</td>'
+ '<td>' + cursor.value.company + '</td>'
+ '<td>' + cursor.value.eMail + '</td>'
+ '<td>' + cursor.value.phone + '</td>'
+ '<td>' + cursor.value.age + '</td>';
tableEntry.appendChild(tableRow);
cursor.continue();
} else {
console.log('Les éléments sont affichés.');
}
};
};
Note : pour un exemple fonctionnel complet, voir notre application To-do (exemple).
| Spécification | État | Commentaires |
|---|---|---|
| {{SpecName('IndexedDB', '#widl-IDBIndex-name', 'name')}} | {{Spec2('IndexedDB')}} |
{{Compat("api.IDBIndex.name")}}