Avatar billede time2 Nybegynder
06. april 2006 - 16:41 Der er 15 kommentarer

At linke fra Datagrid eller datareader

Jeg skal lave nogen udtræk fra en database og jeg har noget som ligne følgende:

Function MyQueryMethod() As System.Data.IDataReader
        Dim connectionString As String = "server='(local)'; trusted_connection=true; "

        Dim dbConnection As System.Data.IDbConnection = New System.Data.SqlClient.SqlConnection(connectionString)

        Dim queryString As String = "SELECT [medlem].[medID], [medlem].[medNavn], [medlem].[MedAdr] FROM [medlem]"
        Dim dbCommand As System.Data.IDbCommand = New System.Data.SqlClient.SqlCommand()
        dbCommand.CommandText = queryString
        dbCommand.Connection = dbConnection

        dbConnection.Open()
        Dim dataReader As System.Data.IDataReader = dbCommand.ExecuteReader(System.Data.CommandBehavior.CloseConnection)
        Return dataReader
    End Function
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        DataGrid1.DataSource = MyQueryMethod()
        DataGrid1.DataBind()
    End Sub

Her bliver udtræk fra databasen vist i en datagrid, men jeg vil have at et navnene blive skrevet som et link og når man klikker på dem, vil man få en anden side som hedder visinfo.aspx og her vil detaljerne på den valgte person vil blive vist. På visinfo.aspx siden har jeg et felt som man kan srkive et medID ind idet, og man trykke på vis vil informationer for denne person kommer fra. Jeg har tidligere oprettet dette sp, men lukkede igen og nu oprette jeg igen, og håber virkeligt, at det nogen som kan hjælpe mig med dette.
Avatar billede bernhof Nybegynder
06. april 2006 - 17:51 #1
Er det i en web-applikation, dvs. ASP.NET du vil at lave dette datagrid? For der er det bestemt muligt. Ved dog ikke hvordan man gør i en VB.NET windows-applikation.
Avatar billede bernhof Nybegynder
06. april 2006 - 17:53 #2
Forresten, hvis det er i ASP.NET, burde du nok have oprettet spørgmålet i ASP.NET kategorien : http://www.eksperten.dk/spm/Programmering/Script/ASPNET/
Avatar billede dr_chaos Nybegynder
07. april 2006 - 08:49 #3
hvordan ser dit datagrid ud på aspx siden ?
Avatar billede dr_chaos Nybegynder
07. april 2006 - 09:13 #4
du kan lave et link med en itemtemplate:
asp:DataGrid id="DataGrid1" AutoGenerateColumns="False" runat="server">
<Columns>
    <asp:TemplateColumn HeaderText="Link">
        <ItemTemplate>
        <asp:HyperLink Runat =server
        NavigateUrl ='<%# "visinfo.aspx?medID=" & DataBinder.Eval(Container.DataItem, "medID")%>' >
        Vis
        </asp:HyperLink>
        </ItemTemplate>
    </asp:TemplateColumn>
</asp:DataGrid>
Avatar billede time2 Nybegynder
07. april 2006 - 16:13 #5
Jeg har faktisk ikke haft mulighed for at afprøve jeres florslag endnu, da på det arbejder jeg har til daglig har ikke programmerne liggende på Arbejdspladsen PC, men jeg giver "lyd" fra mig ligeså snart det er mulighed for det, og foreløbigt tak for jeres tilbagemeldeing:)
Avatar billede dr_chaos Nybegynder
07. april 2006 - 19:43 #6
helt iorden :)
Avatar billede time2 Nybegynder
11. april 2006 - 13:56 #7
>>hej dr chaos :) Undskyld den senere tilbagemedling, jeg har prøvet at kopi/paste din kode, men kan faktisk ikke få det til at virke.
Avatar billede dr_chaos Nybegynder
11. april 2006 - 13:58 #8
hvad er problemet ?
Avatar billede time2 Nybegynder
11. april 2006 - 14:14 #9
som jeg skrev, at jeg en anden side som har et felt, hvor man kan kan skrive et medID nr. og kan få informationer om vedekommende som har det nr. jeg har tilrettet datagridens egenskaber efter din kode og det bliver til link, men når jeg klikke på et link, men det siger, at det kan ikke finde siden. problemet ligger nok i at, hvordan den anden side(visinfo.aspx) kan få værdien medID eller hvad?
Avatar billede dr_chaos Nybegynder
11. april 2006 - 14:21 #10
hvordan ser urlen ud når du har trykket på linket ?
Avatar billede time2 Nybegynder
11. april 2006 - 14:23 #11
Jeg vil lige spørge om du er til at træffe i aften, for jeg har desvære ikke adgang til det?
Avatar billede dr_chaos Nybegynder
11. april 2006 - 14:27 #12
Du kan godt prøve at skrive. Men det er ikke sikkert. Men jeg skal nok svare så hurtigt som muligt.
Avatar billede time2 Nybegynder
11. april 2006 - 14:29 #13
mange tak for din hjælp:)
Avatar billede time2 Nybegynder
11. april 2006 - 22:02 #14
urlen er
http://localhost/Medlemmer24Feb/# "VisCV.aspx?medID=" & DataBinder.Eval

og man klikke på linket adressen bliver følgende:

http://localhost/Medlemmer24Feb/%#%20"VisCV.aspx?medID="%20&%20DataBinder.Eval(Container.DataItem,%20"medID")%&
Avatar billede dr_chaos Nybegynder
12. april 2006 - 18:26 #15
prøv lige med:
<asp:HyperLink Runat =server
        NavigateUrl ='<%# "visinfo.aspx?medID="& DataBinder.Eval(Container.DataItem, "medID").ToString %>' >
        Vis
        </asp:HyperLink>

eller

<asp:HyperLink Runat =server
        NavigateUrl ='<%# "visinfo.aspx?medID=" DataBinder.Eval(Container.DataItem, "medID")%>' >
        Vis
        </asp:HyperLink>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester