Miten voin tehä DataGrid:iin linkin esim "http://www.google.fi"? Eli siis esim kun painetaan DataGrid:stä esim kohtaa Google, niin siirrytään googlen sivustolle. Eli siis avautuu oletus selain ja se siirtyy googeliin.
Joo, mutta miten tätä voi soveltaa DataGrid:ssä? Eli siis on Column, jonka nimi on "Nimi" ja siinä listassa olevat fieldit "Google","Ohjelmointiputka" ja "Altavista", jos painan "Google" avautuu "google.fi" ja jos taas "Ohjelmointipurka" niin avautuu luonnollisesti ohjelmointiputka.net jne jne...Eli pystyykö mitenkään?
Laaksosen ohjetta ja seuraavaa koodia soveltamalla saat tuon hoidettua. Jossain taulukossa tms. yhdistää nimet oikeisiin osoitteisiin.
Private Sub DataGrid1_MouseDown(Button As Integer, _
Shift As Integer, _
X As Single, _
Y As Single)
Dim MyCol As Long
Dim MyRow As Long
On Error GoTo ErrorTerror 'otetaan virheet huomioon
With Me.DataGrid1
MyCol = .ColContaining(X) 'selvitetään klikatun sarakkeen numero
MyRow = .RowContaining(Y) 'sama rivin suhteen
If MyCol >= 0 And MyCol < .Columns.Count Then 'tarkistetaan sarakkeen "oikeellisuus"
If MyRow >= 0 And MyRow < .ApproxCount Then 'sama rivin suhteen
'ilmoitetaan klikatun solun arvo messageboxilla
MsgBox .Columns(MyCol).CellValue(.RowBookmark(MyRow))
End If
End If
End With
Exit Sub
ErrorTerror:
If Err.Number <> 0 Then MsgBox Err.Number & ": " & Err.Description: Err.Clear
End SubTämä ei ole oikein kätevä koodi, jos olisi tarkoitus siirtää linkki data tietokantaan ja ladata sieltä ulos..
Tarkoitushan siis oli klikata DataGridin solua, joka avaa selaimen ja siirtyy jollekkin sivulle? Väännetäänpä rautalangasta. Tällä kertaa et saa valmista koodia, vaan joudut soveltamaan, mitä tässä ketjussa on tullut ilmi.
Esimerkkistäni saat koodin, joka kertoo mitä olet klikannut DataGridissä. Tarvitset jonkin listan (array, tietokanta tms.), josta katsot löytyykö klikatulle vastaavaa osoitetta, minne siirtyä (Google tarkoittaa http://www.google.fi ja niin edelleen). Jos löytyy, niin Laaksosen esimerkillä avaat selaimen ja siirryt halutulle sivulle. Oliko tuossa jotain vaikeaa, vai enkö ymmärrä jotain?
Itse asiassa en tarvitse enää, koska kehittelin itse paremman tekniikan...
Aihe on jo aika vanha, joten et voi enää vastata siihen.