Sapete se c'è la possibilità di limitare il numero di righe inseribili in un datagridview???![]()
Ciao![]()
Sapete se c'è la possibilità di limitare il numero di righe inseribili in un datagridview???![]()
Ciao![]()
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!![]()
![]()
Ho risolto, scoprendo 'RowPostPaint' , in questa maniera:
E va alla grande!!!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
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!!!![]()
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???
![]()
raga! Aiuto!
Non so più dove mettere il naso!!!![]()
ho fatto così:
esegue la funziona solo alla fine del caricamento del datagridview!!! Non una volta in più!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
![]()