Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. Visual Studio 6.0
Valori dinamici in DataGrid o True DBGrid
venerdì 10 aprile 2009 - 14.27
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Franto
Profilo
| Junior Member
75
messaggi | Data Invio:
ven 10 apr 2009 - 14:27
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.
Torna su
Stanze Forum
Elenco Threads
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 !