Avatar billede kak Nybegynder
28. juni 2006 - 11:09 Der er 4 kommentarer og
1 løsning

Linkbutton i en dynamisk tabel

Jeg har en tabel, som jeg opretter automatisk på en side. Det ser nogenlunde således ud:

            Dim Hrow As TableHeaderRow = New TableHeaderRow
            Hrow.ID = "Header"
            major_Table.Rows.Add(Hrow)

            Dim Hcell As TableCell = New TableCell
            Hrow.Cells.Add(Hcell)
            Dim btn As Button = New Button
            btn.Text = "Test"
            btn.CommandName = "mySub"
            Hcell.Controls.Add(btn)

            ..............

Jeg forsøger at kalde en sub fra den button, jeg opretter dynamisk i tabellen, men jeg kan ikke få det til at virke. Hvordan kan man gøre det?
Avatar billede thrytter Nybegynder
28. juni 2006 - 11:22 #1
Din tabel og tilhørende rækker/kolonner skal oprettes / tilføjes til kontroltræet ved hvert PostBack.

Alternativt kan du indsætte en eller flere skjulte TextBoxe på siden. Ved tryk på knappen kan du sætte værdien af TextBox'en lig CommandName for den pågældende knap.

Ved PostBack kan du aflæse værdien af TextBox'en og derefter afgøre hvilken Sub der skal kaldes.
Avatar billede kak Nybegynder
28. juni 2006 - 11:29 #2
Tabellen bliver allerede oprettet ved hver postback.

Kan du give et eksempel på, hvordan jeg får det til at virke? Det bør vel kunne virke, uden at jeg skal lave textboxe, og det vil jo stadig give mig samme udfordring, da jeg jo på en eller anden måde, skal have kaldt en sub der sætter værdien i en textbox.
Avatar billede thrytter Nybegynder
28. juni 2006 - 11:49 #3
De skjulte TextBoxe var kun hvis du ville undgå at oprette tabellen ved hvert PostBack.

btn.CommandName angiver ikke hvilke Sub der skal kaldes ved click, men sendes sammen med CommandArgument til funktionen / EventHandleren, hvor du så kan fange dem - betyder at du kan have en funktion der behandler Click-event fra mange knapper.

For at få Click til at virke på din knap skal der oprettes en EventHandler

Private Sub btn_Click(ByVal sender As Object, ByVal e As System.EventArgs)
  ' Find det angivne CommandArgument
  Dim sCommandArgument As String = CType(sender, Button).CommandArgument

  ' Find det angivne CommandName
  Dim sCommandName As String = CType(sender, Button).CommandName
End Sub

og tilknytning af EventHandler'en til knappen
  Dim btn As Button = New Button
  btn.Text = "Test"
  btn.CommandName = "_CommandName_"
  btn.CommandArgument = "_CommandArgument_"
  AddHandler btn.Click, AddressOf btn_Click
Avatar billede kak Nybegynder
28. juni 2006 - 12:03 #4
Perfekt, Tak for hjælpen! Smider du et svar?
Avatar billede thrytter Nybegynder
28. juni 2006 - 13:00 #5
Du får lige et svar
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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