[MySQL] Tijdelijke tabel voor opslag selectie items datagrid

Pagina: 1
Acties:

  • EmilneM
  • Registratie: December 2001
  • Laatst online: 15-09-2023
Op een ASP.NET webform staat een datagrid met paging ingeschakeld. In de eerste kolom van elk item staat een checkbox waarmee items geselecteerd kunnen worden. Als er gebruik wordt gemaakt van de paging, vergeet de pagina welke checkboxes op de vorige pagina geselecteerd waren (logisch).

Nu ben ik op zoek naar een manier om de selectie in een tijdelijke tabel in de database op te slaan zodat gewoon van de paging-functie gebruik gemaakt kan worden. Ik dacht er zelf aan iets te doen met gebruikerID, omdat selectie op één pagina tegelijkertijd door meerdere users gedaan kan worden. Echter een user (met gebruikerID) is uniek en kan maar één keer ingelogd zijn.

Iemand enig idee hoe ik dit in MySQL kan oplossen, of waar ik hier meer over kan lezen? Of misschien heeft er iemand een betere oplossing...

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 19:24

gorgi_19

Kruimeltjes zijn weer op :9

Daar heb je toch een viewstate voor?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • EmilneM
  • Registratie: December 2001
  • Laatst online: 15-09-2023
gorgi_19 schreef op 16 september 2004 @ 09:37:
Daar heb je toch een viewstate voor?
Die onthoudt niet of checkboxes op een vorige pagina van de paging-grid wel of niet gechecked zijn...

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 19:24

gorgi_19

Kruimeltjes zijn weer op :9

EmilneM schreef op 16 september 2004 @ 09:39:
[...]


Die onthoudt niet of checkboxes op een vorige pagina van de paging-grid wel of niet gechecked zijn...
Nee, die moet je opslaan in je viewstate op het moment dat je naar de volgende pagina gaat. Dat moet je handmatig doen, maar of je ze nu opslaat in je database of in je viewstate maakt an sich niet uit (tenzij je vele 100-en wil laten selecteren)

[ Voor 21% gewijzigd door gorgi_19 op 16-09-2004 09:40 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • EmilneM
  • Registratie: December 2001
  • Laatst online: 15-09-2023
gorgi_19 schreef op 16 september 2004 @ 09:40:
[...]

Nee, die moet je opslaan in je viewstate op het moment dat je naar de volgende pagina gaat. Dat moet je handmatig doen, maar of je ze nu opslaat in je database of in je viewstate maakt an sich niet uit (tenzij je vele 100-en wil laten selecteren)
Het kan in de praktijk voorkomen dat de volledige datagrid 1000 (of meer) items bevat (die overigens ook één 1 keer geselecteerd of gedeselecteerd moeten kunnen worden). Viewstate wordt dan volgens mij redelijk omvangrijk...

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 19:24

gorgi_19

Kruimeltjes zijn weer op :9

EmilneM schreef op 16 september 2004 @ 09:43:
[...]


Het kan in de praktijk voorkomen dat de volledige datagrid 1000 (of meer) items bevat (die overigens ook één 1 keer geselecteerd of gedeselecteerd moeten kunnen worden). Viewstate wordt dan volgens mij redelijk omvangrijk...
Ik denk dat je je dan meer zorgen moet maken om je paging methodiek dan om de paar checkboxvalues. Sowieso zal je het kunnen opslaan in een arraylist in de viewstate; grootte moet an sich wel mee kunnen vallen.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • EmilneM
  • Registratie: December 2001
  • Laatst online: 15-09-2023
gorgi_19 schreef op 16 september 2004 @ 10:02:
[...]

Ik denk dat je je dan meer zorgen moet maken om je paging methodiek dan om de paar checkboxvalues. Sowieso zal je het kunnen opslaan in een arraylist in de viewstate; grootte moet an sich wel mee kunnen vallen.
Heb een eigen paging-methode geschreven die alleen de records uit de database haalt die weergegeven moeten worden...dat is dus het probleem niet.

  • EmilneM
  • Registratie: December 2001
  • Laatst online: 15-09-2023
gorgi_19.....

Kun je me een beetje op weg helpen met het toevoegen van arraylist aan viewstate en vervolgens uitlezen. Weet niet zo heel veel van viewstate en kan ook niet vinden wat ik zoek.

Deze code heb ik voor de check of checkbox gechecked is of niet en dit vervolgens bijwerken in de arraylist (id van item wordt toegevoegd of verwijderd):

Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Dim iIndex As Integer = -1
Dim iCount As Integer = dgSelGr.Items.Count - 1
Dim chkGroep As CheckBox
Dim lblGroepID As Label
Dim arr As New ArrayList

Do While iIndex < iCount
    iIndex += 1
    chkGroep = dgSelGr.Items(iIndex).FindControl("chkGroep")
    lblGroepID = dgSelGr.Items(iIndex).FindControl("lblGroepID")

    If chkGroep.Checked = True Then
        arr.Add(CInt(lblGroepID.Text))
    Else
        arr.Remove(CInt(lblGroepID.Text))
    End If
Loop


Nu alleen nog bijwerken in viewstate en vervolgens uitlezen en weer bijwerken in nieuwe pagina datagrid.
Pagina: 1