Valori dinamici in DataGrid o True DBGrid

venerdì 10 aprile 2009 - 14.27

Franto Profilo | Junior Member

Ciao a tutti, ho questo problema.

Grid utilizzato : True DBGrid di ComponentOne

Ho formattato una cella con presentation DropDownList.
I valori di questa cella variano in base al valore di un'altro campo.

Ecco il caso specifico.
Campo1 = Cliente
Campo2 = Cantiere

All'inserimento del cliente vorrei che nella cella DropDownList venissero caricati tutti i cantieri del cliente.
Vi posto quello che ho fatto.

Private Sub TDBGrid1_BeforeRowColChange(Cancel As Integer)

Dim vDBClass As DBClass
Dim vConta As Integer
Dim vStTmp1 As String, vStTmp2 As String, vOther As String
Dim vItem As TrueOleDBGrid80.ValueItem

If Me.TDBGrid1.Columns(Me.TDBGrid1.col).DataField = "LAVORCOCLIFO" Then
Set vDBClass = New DBClass
vOther = "CONDITION=CANTICOCLIFO='" & Me.TDBGrid1.Columns(Me.TDBGrid1.col).Text & "'"
If vDBClass.LoadTable("CANTIERE", vOther) = True Then
Call vDBClass.MoveFirst
For vConta = 1 To fItem(vOther, "COUNT")
If Len(vStTmp1) = 0 Then
vStTmp1 = vDBClass.GetFieldValue("CANTICOCANTI") & "|" & vDBClass.GetFieldValue("CANTIDECANTI")
Else
vStTmp1 = vStTmp1 & ";" & vDBClass.GetFieldValue("CANTICOCANTI") & "|" & vDBClass.GetFieldValue("CANTIDECANTI")
End If
Call vDBClass.MoveNext
Next vConta
End If
Set vDBClass = Nothing

Qui vado a popolare la DropDownList:

Set vItem = New TrueOleDBGrid80.ValueItem
With TDBGrid1.Columns("LAVORCOCANTI").ValueItems
.Clear
While Len(vStTmp1) > 0
vStTmp2 = fItemNr(vStTmp1, 1)
vItem.Value = Mid(vStTmp2, 1, InStr(1, vStTmp2, "|") - 1)
vItem.DisplayValue = vItem.Value & " - " & Mid(vStTmp2, InStr(1, vStTmp2, "|") + 1)
.Add vItem
vStTmp1 = fDelItem(vStTmp1, 1)
Wend
.Translate = True
End With
Set vItem = Nothing
End If

End Sub

Il problema è che nel caso avessi a video 10 record, la riassegnazione viene eseguita su tutti e 10, io vorrei invece che l'assegnazione fosse a livello di cella della singola riga..

Non so se mi sono spiegato bene.....



--------------------------------------------------------------
Il destino è solo una giustificazione a ciò che è accaduto, che accade e che accadrà. Apriamo gli occhi e riprendiamoci la nostra vita.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5