Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    285

    [VB.NET] Eliminare riga da datagrid

    Salve a tutti smanettando con vb.net mi sono trovato di fronte ad una grossa? boh.. difficoltà.

    popolo un datagrid con un dataset ma vorrei che al click di un pulsante al di fuori del datagrid, si elimini la riga selezionata nel datagrid e ovviamente nel database.. ah.. l'applicazione è per pocket pc ma dovrebbe essere uguale, posto il mio codice:


    Private Sub Carica_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Carica.Click

    Dim conn As New SqlServerCe.SqlCeConnection("data source=\my documents\prova.sdf")
    conn.Open()

    Dim cmd1 As New System.Data.SqlServerCe.SqlCeDataAdapter("Select * from utenti", conn)
    Dim ds As New DataSet

    cmd1.Fill(ds)
    DataGrid.DataSource = ds.Tables(0)
    conn.Close()
    End Sub


    come devo procedere adesso per eliminare una riga selezionata tramite un pulsante?

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    261
    Leggi l'id associato alla riga del datagrid e lo cancelli:
    codice:
    DELETE FROM TuaTabella WHERE IdTuaTabella = " & DataGrid1.Tag.ToString

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    285
    Grazie per la risposta ma il mio problema è proprio come recuperare l'id della linea selezionata dal datagrid..

    Quanto è bello Vb6..

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    261
    Quando popoli il tuo datagrid associ al tag del datagrid il tuo id e poi lo recuperi con il metodo suddetto , è più semplice di quello che sembra:

    codice:
    DatagGrid1.DataBindings.Add(New System.Windows.Forms.Binding("Tag", Dataset, "TuoDataset.IdTabella"))
    e non rimpiangere vb6 non ne vale la pena............

  5. #5
    Utente di HTML.it L'avatar di Beziel
    Registrato dal
    Oct 2002
    Messaggi
    697
    ciao a tutti volevo sapere se il metodo su esposto funzionasse nel caso in cui le righe da eliminare sarebbero + di una.



    Grazie

  6. #6
    Utente di HTML.it L'avatar di Beziel
    Registrato dal
    Oct 2002
    Messaggi
    697
    codice:
    Public Function GetSelectedRows(ByVal dg As DataGrid) As System.Collections.ArrayList
    
            Dim al As New ArrayList
    
    
            Dim i As Integer
    
            For i = 0 To dvclienti.Count - 1
    
                If dg.IsSelected(i) Then
    
                    al.Add(i)
    
                End If
    
            Next
    
            Return al
    
        End Function
    ho messo tutto il contenuto delle righe selezionate in un arraylist adesso come le elimino?


    Grazie

  7. #7
    Utente di HTML.it L'avatar di Beziel
    Registrato dal
    Oct 2002
    Messaggi
    697
    codice:
    Dim o As Integer
            For Each o In GetSelectedRows(DataGrid1)
                dvclienti.Delete(o)
            Next
    ho provato in questo modo ma mi cancella le righe pari e non quelle selezionate

  8. #8
    Utente di HTML.it L'avatar di Beziel
    Registrato dal
    Oct 2002
    Messaggi
    697
    ho risolto interagendo direttamente sul dataset

    codice:
    Dim o As Integer
            For Each o In GetSelectedRows(DataGrid1)
                dshotel.Tables("clienti").Rows(o).Delete()
            Next


    Grazie cmq

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.