Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Limitare lighe in un datagridview

    Sapete se c'è la possibilità di limitare il numero di righe inseribili in un datagridview???

    Ciao

  2. #2
    inoltre è possibile, mentre vengono caricati i dati, che per ogni riga compilata venga eseguita una funzione/sub prima di iniziare la compilazione della riga sucessiva???

    Ho provato le varie rowdalidating etc.... senza riuscirvi!
    Il problema è che, nella funzione, devono essere lette i valori di alcune celle della riga, eseguite alcune semplici operazioni aritmetiche e inserite in una cella della stessa riga!
    Così fino in fondo!
    Avevo pensato di farlo eseguire a fine riempimento del DatagridView con un ciclo for ma anche qui non riesco ad automatizzare l'evento di fine scrittura dello stesso datagridview!


  3. #3

    RiSoLTo!!

    Ho risolto, scoprendo 'RowPostPaint' , in questa maniera:
    codice:
        Private Sub MyDataGridView_RowPostPaint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewRowPostPaintEventArgs) Handles MyDataGridView.RowPostPaint
    
            Dim BSDatiScoutGiocat As BindingSource = Me.Tab_DatiScoutGiocatoriBindingSource
            Dim DGBSCount As Byte = MyBildSour.Count
    
            'Limita il numero di Righe
            Select Case DGBSCount
    
                Case Is = 12
                    'Blocca la possibilità di inserire altre Righe.
                    MyBildSour.AllowNew = False
    
                Case Is < 12
                    'Permette di inserire altre Righe.
                    MyBildSour.AllowNew = True
    
            End Select
    
            'Esegue la funzione per ogni riga inserita
            If (e.RowIndex < DGBSCount) Then
                MyFunzioneperRiga(sender, e)
            End If
        End Sub
    E va alla grande!!!

  4. #4
    Come non detto!!!

    Pensavo di avere risolto, ma nn è così!
    Infatti l'evento viene richiamato tutte le volte che un campo della riga subisce una modifica, per cui le funzioni associate all'evento vengono eseguite 100-ntinaia di volte considerando che si parla di circa 12 righe con una 10-ina di campi!!!!

    Per cui ho dirottato con l'idea di intercettare il termine del caricamento del Datagridview e quindi con un ciclo fare eseguire le funzioni che mi serve che agiscano su ogni singola riga!!!
    Ma non so qual'è il comando! Ho guardato guite varie ma nn trovo niente...mi saprweste indicare quella giusta???

    Esiste inoltre un comando che limita il numero di righe inseribili nel datagridview???

    Grazie!!!

  5. #5
    Ohhhhh mmma mia, ho guardato tutti gli eventi del datagridview...non trovo quello che mi serve!!!

    Non esiste un comando che limita il numero di righe inseribili nel datagridview???
    Non esiste un evento al termine del caricamneto dei dati all'interno del datagridview???


  6. #6
    raga! Aiuto!

    Non so più dove mettere il naso!!!

  7. #7

    Per l'Evento di Fine caricamento: RISOLTO

    ho fatto così:
    codice:
        Private Sub MyDataGridView_RowPostPaint(ByVal sender As System.Object, _
                    ByVal e As DataGridViewRowPostPaintEventArgs) _
                    Handles MyDataGridView.RowPostPaint
    
            '
            'Solo all'ultima riga inserita.
            If (e.IsLastVisibleRow) AndAlso (e.State And DataGridViewElementStates.Visible) = _
                DataGridViewElementStates.Visible   Then
                '
                'Esegue a mia funzione.
                AggiornaPannelloDati_PANEL(sender)
    
            End If
        End Sub
    esegue la funziona solo alla fine del caricamento del datagridview!!! Non una volta in più!

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.