ciao
ti posto il codice dwella funzione che riesce a unire le celle , la funzione vuole il numero colonna come parametro e unisce le celle in base lla colonna,se trova le stesse occorrenze
il guaio di questa funzione è che nonostanze sembri funzionare, se si ha nel datagrid una colonna template con una combobox e si tenta di ciclare la grigglia, riusciresti solo a prendere la prima occorrenza della combo,se in una cella prima è stata unitacodice:Public Sub UnisciColonneDatagrid(ByVal DG As DataGrid, ByVal Col As Int16) Dim i As Integer Dim Sapp As String = "" Dim Ssucc As String = "" Dim conta As Int16 = 1 'conta le occorrenze Dim cc As TableCell For i = 0 To DG.Items.Count - 1 Sapp = DG.Items(i).Cells(Col).Text If i = DG.Items.Count - 1 Then '-----ultima riga If Ssucc = Sapp Then DG.Items(i).Cells.RemoveAt(Col) cc.RowSpan = conta ' - 1 '+ 1 cc.Text = Sapp DG.Items(i - conta + 1).Cells.AddAt(Col, cc) '- conta End If GoTo continua'sostituire con variabile bool Else Ssucc = DG.Items(i + 1).Cells(Col).Text End If If Sapp = Ssucc Then 'Or (Ssucc = Sapp) Then 'And Sprec <> "" conta = conta + 1 cc = DG.Items(i).Cells(Col) DG.Items(i).Cells.RemoveAt(Col) ElseIf Sapp <> Ssucc And conta > 1 Then DG.Items(i).Cells.RemoveAt(Col) cc.RowSpan = conta ' - 1 '+ 1 cc.Text = Sapp DG.Items(i - conta + 1).Cells.AddAt(Col, cc) '- conta conta = 1 'resetto il conta End If continua:'da eliminare Next End Sub
grazie
p.s.
la funzione ovviamente è da migliorare,quindi non guardare le ottimizzazioni, ma solo dove genera questa fastidioso errore,e mi riferisco ache ad "on error..."