asp.net datagrid 2x select command andere functie

Pagina: 1
Acties:

  • dominion99
  • Registratie: December 2001
  • Laatst online: 13-08-2025
Zoals ik in de titel al heb gezegd, ik heb een datagrid deze is gevuld met informatie
ik heb 2 buttoncolumns, eentje heet "selecteer" en de ander heet "detail"

Nu is het zo als je op detail klik je de functie datagrid_select aanspreekt
dit zet je in de html code met
code:
1
OnSelectedIndexChanged="dataGrid_Select"


Nu wil ik eigelijk in die functie datagrid_select kijken welke van de 2 buttoncolumns ingedrukt is

de functie select ziet er nu nog als volgt uit
[code]
Sub dataGrid_Select(Sender As Object, E As EventArgs)
BindDetailGrid()
End Sub
[code]

Ik had eerst nog iets anders bedacht en die had ik erbij gezet
HTML
code:
1
OnItemCommand="datagrid_ItemCommand"


ASP
code:
1
2
3
4
5
6
7
8
9
10
11
12
Sub datagrid_ItemCommand (Sender As Object, E As DataGridCommandEventArgs)
    Dim Command As String = E.CommandName
    Dim filterValue As String 
    If datagrid.SelectedIndex <> -1 Then
        filtervalue = CStr(datagrid.DataKeys(datagrid.SelectedIndex))
    End If
    Select Case Command
            Case "SelecteerKlant"
                Session("Klant") = filtervalue
                Server.Transfer("default.aspx")
            End Select
End Sub

Alleen bij dit bovenstaande is het probleem dat er dan geen selected index is, is logisch maar ik probeerde het toch ff

Maar weet iemand hoe ik dit dan wel kan oplossen, ik zat te denken aan de commandname van de button zoals ik boven heb gedaan.
Maar die kan ik niet bij de select functie doen

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 31-08 15:46

mulder

ik spuug op het trottoir

Volgens MSDN heeft e (DataGridCommandEventArgs) een property Item, de row waarin geklikt is.

oogjes open, snaveltjes dicht


  • dominion99
  • Registratie: December 2001
  • Laatst online: 13-08-2025
hmm, dat item werkt niet echt

als ik dat E.Item.Cells(0) schrijf dan komt er helemaal niks (nuttigs), is het niet mogelijk om in de datagrid_select functie te kijken welke opdracht er uit gevoerd moeten worden, of weten welke rij er geklikt is

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 31-08 15:46

mulder

ik spuug op het trottoir

Sender is het object die het event raised.
C#:
((ButtonColumn)object).CommandName
VB.NET
object as ButtonColumn ?

oogjes open, snaveltjes dicht


  • dominion99
  • Registratie: December 2001
  • Laatst online: 13-08-2025
Ik snap niet echt wat je bedoeld
ik heb dit geprobeerd
code:
1
Dim myOption as string  = (ButtonColumn(sender)).CommandName

Dit resulteert in de volgende foutmelding
"'ButtonColumn' is a type and cannot be used as an expression"

Ik weet niet of je zoiets bedoelde ?

  • dominion99
  • Registratie: December 2001
  • Laatst online: 13-08-2025
Ok ik heb de oplossing zelf al gevonden

voor de liefhebbers onder ons leg ik het hier even uit.

In de HTML van de datagrid heb ik gezet
code:
1
OnItemCommand="datagrid_ItemCommand"


De button column heeft als commandname "SelecteerKlant"

In de code zet je dan (in VB)
code:
1
2
3
4
5
6
7
8
9
Sub datagrid_ItemCommand (Sender As Object, E As DataGridCommandEventArgs)
    Dim Command as String = E.CommandName
    Select Case Command
           Case "SelecteerKlant"
             Dim relatienr as String = E.Item.Cells(2).Text
             Response.write("Relatienummer: " & relatienr)
             'Server.Transfer("default.aspx")
           End Select
End Sub


Natuurlijk is een case statement hier wat overdreven, maar nu dit werkt kan ik het
ook uitbreiden.

Ok dat was dat, even een hele andere vraag.
Is het mogelijk om vanuit een frame een pagina aan te roepen die in een ander frame moeten komen.

bijvoorbeeld als ik een pagina heb in de main frame, en dan zeg van ok laat de hele index.aspx opnieuw (dat is dan de frameset) dan komt die in de huidige frame terrecht en dat is dus main.

Ik moet dus zeggen "_parent" maar kun je dit in ASP.Net ook doen, of kan het misschien met meta tags

  • dominion99
  • Registratie: December 2001
  • Laatst online: 13-08-2025
Kan het misschien met Javascript?
ik dacht dan redirect je naar een pagina met javascript, die heeft een functie onload die je dan gelijk doorstuurt naar de pagina die je als variabele meegaf aan deze pagina

weet iemand of dat wel mogelijk is? zo ja hoe
Pagina: 1