Gambas France BETA


Pas de compte ? Incription

Détruire toutes les rangées d'un DataView sauf celles sélectionnées :

Le raisonnement est simplement inversé :



Le DataView étant réglé en Mode Multiple :
1
DataView1.Mode = Select.Multiple

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
PUBLIC SUB btnErase2_Click() '<------------------------------------------------------' effacement sauf sélection

DIM i AS INTEGER, copie AS Integer[]

IF DataView1.View.Rows.Selection.Count = 0 THEN RETURN '<-----------' s'il n'y a pas de sélection retour sinon il y a effacement de tout

copie = DataView1.View.Rows.Selection.Copy() '<----------------------------' copie de la sélection

ME.Mouse = Mouse.Wait
DataView1.View.Rows.UnSelectAll '<-----------------------------------------------' toutes les rangées de la sélection sont dé-sélectionnées
DataView1.View.Rows.SelectAll '<--------------------------------------------------' toutes les rangées du tableau sont sélectionnées

FOR EACH i IN copie
DataView1.View.Rows.UnSelect(i) '<--------------------------------------------' les rangées qui sont dans la copie sont dé-sélectionnées
NEXT

DataView1.Remove '<------------------------------------------------------------------' on efface les rangées résiduelles

DataSource1.Save '<-------------------------------------------------------------------' on sauvegarde dans la base
DataSource1.Update
Affich()
ME.Mouse = Mouse.Default

END

Un commentaire :
1
FOR EACH i NOT IN copie
envoie une erreur de syntaxe, ce qui impose de raisonner à l'envers.

====================

Navigation :



<-- Liens du Wiki : <--
<-- Accueil du WIKI : <--

====================

La Documentation :



====================