OVH Cloud OVH Cloud

datagrid dans VB.net

3 réponses
Avatar
Sylvain MALLEVAL
Bonjour,

j'utilise un datagrid et je récupére dans les évènements d'un datatable les
actions faites par l'utilisateur sur la grille.
Quand mon utilisateur détruit une ligne du datagrid, j'aimerais pouvoir
annuler cette action si elle ne me convient. Toutefois, je ne sais pas
comment faire

peut-être dans le datatable_rowdeleting mais si oui comment ???

Merci pour votre aide

Sylo

3 réponses

Avatar
RABILLOUD JMARC [MVP]
Normalement il suffit de faire un RejectChanges dans le rowdeleting

"Sylvain MALLEVAL" <devbnet@[antispam]free.fr> a écrit dans le message de
news: O%23265Q%
Bonjour,

j'utilise un datagrid et je récupére dans les évènements d'un datatable
les
actions faites par l'utilisateur sur la grille.
Quand mon utilisateur détruit une ligne du datagrid, j'aimerais pouvoir
annuler cette action si elle ne me convient. Toutefois, je ne sais pas
comment faire

peut-être dans le datatable_rowdeleting mais si oui comment ???

Merci pour votre aide

Sylo




Avatar
Sylvain MALLEVAL
ca c'est sur le dataset...
j'utilise un dataview en datasource... Y a pas de rejectchange dessus...
Y'aurais pas une autre solution avec un dataview ???

Merci

"RABILLOUD JMARC [MVP]" a écrit
dans le message de news: ea$Tzp$
Normalement il suffit de faire un RejectChanges dans le rowdeleting

"Sylvain MALLEVAL" <devbnet@[antispam]free.fr> a écrit dans le message de
news: O%23265Q%
> Bonjour,
>
> j'utilise un datagrid et je récupére dans les évènements d'un datatable
> les
> actions faites par l'utilisateur sur la grille.
> Quand mon utilisateur détruit une ligne du datagrid, j'aimerais pouvoir
> annuler cette action si elle ne me convient. Toutefois, je ne sais pas
> comment faire
>
> peut-être dans le datatable_rowdeleting mais si oui comment ???
>
> Merci pour votre aide
>
> Sylo
>
>




Avatar
RABILLOUD JMARC [MVP]
Ca ne change rien, il n'existe pas de DataView sans Datatable. Un Dataview
c'est une vue d'un DataTable. Donc DataView.Table renvoie le DataTable
sous-jacent.
Par exemple
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

Dim strConn, strSQL As String

strConn = "data source= d:tutorielbiblio.mdb
;Provider=Microsoft.Jet.OLEDB.4.0"

strSQL = "SELECT * FROM Authors"

Dim MonDa As New OleDbDataAdapter(strSQL, strConn)

Dim MonDataSet As New DataSet

MonDa.MissingSchemaAction = MissingSchemaAction.AddWithKey

MonDa.Fill(MonDataSet)

Me.DataGrid1.DataSource = MonDataSet.Tables(0).DefaultView

Dim MaTable As DataTable = Me.DataGrid1.DataSource.Table

AddHandler MaTable.RowDeleted, New DataRowChangeEventHandler(AddressOf
Row_Deleted)

End Sub

Private Sub Row_Deleted(ByVal sender As Object, ByVal e As
DataRowChangeEventArgs)

e.Row.RejectChanges()

Me.DataGrid1.Refresh()

End Sub


"Sylvain MALLEVAL" <devbnet@[antispam]free.fr> a écrit dans le message de
news: uBVf5x$
ca c'est sur le dataset...
j'utilise un dataview en datasource... Y a pas de rejectchange dessus...
Y'aurais pas une autre solution avec un dataview ???

Merci

"RABILLOUD JMARC [MVP]" a écrit
dans le message de news: ea$Tzp$
Normalement il suffit de faire un RejectChanges dans le rowdeleting

"Sylvain MALLEVAL" <devbnet@[antispam]free.fr> a écrit dans le message de
news: O%23265Q%
> Bonjour,
>
> j'utilise un datagrid et je récupére dans les évènements d'un datatable
> les
> actions faites par l'utilisateur sur la grille.
> Quand mon utilisateur détruit une ligne du datagrid, j'aimerais pouvoir
> annuler cette action si elle ne me convient. Toutefois, je ne sais pas
> comment faire
>
> peut-être dans le datatable_rowdeleting mais si oui comment ???
>
> Merci pour votre aide
>
> Sylo
>
>