[ASP.NET] Item met bepaalde waarde in datalist selecteren

Pagina: 1
Acties:

  • EmilneM
  • Registratie: December 2001
  • Laatst online: 15-09-2023
Op een ASP.NET-webform staat een textbox, een button en een datalist. De waarde uit de textbox wordt naar een MySQL-tabel weggeschreven als op de button wordt geklikt. Vervolgens wordt de tabel gesorteerd en volgt een Databind op de datalist zodat de gegevens netjes worden weergegeven.

Nu wil ik dat de laatst toegevoegde waarde vet wordt gedrukt in de datalist. Heb dan ook de SelectedItem-Template van de datalist ingesteld op Font.Bold = True. Nu was mijn plan om de zojuist toegevoegde waarde te selecteren in de datalist zodat deze vetgedrukt wordt. Ik krijg dit echter niet voor elkaar.

Hoe selecteer ik een bepaald item met een bepaalde waarde in een datalist/datagrid?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:28

gorgi_19

Kruimeltjes zijn weer op :9

http://longhorn.msdn.micr.../p/selecteditemstyle.aspx

datagrid is afaik niet veranderd t.o.v. 1.1. Wat lukt er niet?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • EmilneM
  • Registratie: December 2001
  • Laatst online: 15-09-2023
gorgi_19 schreef op 09 januari 2004 @ 10:39:
http://longhorn.msdn.micr.../p/selecteditemstyle.aspx

datagrid is afaik niet veranderd t.o.v. 1.1. Wat lukt er niet?
Het gaat hier om het selecteren van het item, het instellen van de style is geen probleem.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:28

gorgi_19

Kruimeltjes zijn weer op :9

EmilneM schreef op 09 januari 2004 @ 11:00:
[...]


Het gaat hier om het selecteren van het item, het instellen van de style is geen probleem.
DAn krijg je iets als http://longhorn.msdn.micr...agrid/p/selecteditem.aspx

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • EmilneM
  • Registratie: December 2001
  • Laatst online: 15-09-2023
Ik moet juist de index weten van een bepaald item (die een bepaalde waarde heeft) in de datalist...

Met 'selecteditem' werk je volgens mij als er al een item geselecteerd is.....toch?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:28

gorgi_19

Kruimeltjes zijn weer op :9

Nee, 't is een property.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Remco
  • Registratie: Januari 2001
  • Laatst online: 15:56
Als je een id meegeeft, kan je het hoogste id pakken uit je tabel.
Dan geef je die mee als selecteditem.index
En zet je je selecteditem.index op true.

Je kan dan in je selecteditem properties aangeven dat hij alleen bold moet weergeven.

Ik zit nu op mijn werk, maar thuis heb ik wel een voorbeeld voor je.
Doe het nu even uit mijn hoofd.

Anders moet je even bij datagridgirl kijken.

[ Voor 25% gewijzigd door Remco op 09-01-2004 11:23 ]

The best thing about UDP jokes is that I don't care if you get them or not.


  • EmilneM
  • Registratie: December 2001
  • Laatst online: 15-09-2023
Je kunt een bepaalde datarow selecteren uit een datatable op deze manier:

Visual Basic .NET:
1
DataRow = DataTable.Select(Value = '" & txtValue.Text & "'")


Kan ik niet zoiets doen in een datalist? Of kan ik misschien de index van een datarow in de datatable opvragen. Dan ben ik er ook want dan kan ik stellen:

Visual Basic .NET:
1
DataList.SelectedIndex = <Index van row in datatable>


omdat de datalist evenveel rows heeft als de datalist items heeft.

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:14
[quote]EmilneM schreef op 09 januari 2004 @ 11:22:
Je kunt een bepaalde datarow selecteren uit een datatable op deze manier:

Visual Basic .NET:
1
DataRow = DataTable.Select(Value = '" & txtValue.Text & "'")
Kan ik niet zoiets doen in een datalist? Of kan ik misschien de index van een datarow in de datatable opvragen. Dan ben ik er ook want dan kan ik stellen:
Nee, dat kan je niet, want je datatable weet niet aan welke controls hij gebinded is, en hoe hij gebinded is.
Je control wordt nl .aan een dataview gebind.

Kan je niet in de OnItemDataBound event nagaan of het huidige DataListItem het nieuwe record bevat, en dan de SelectedIndex instellen op de index van dat datalistitem?

[ Voor 13% gewijzigd door whoami op 09-01-2004 11:28 ]

https://fgheysels.github.io/


  • EmilneM
  • Registratie: December 2001
  • Laatst online: 15-09-2023
Hebbes!

Heb de label die de waardes bevat in de datalist een naam gegeven (lblKC) en ga ze vervolgens per item af om te kijken of hij de bewuste waarde bevat. Zo ja, selecteer die waarde.....

Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
Dim i As Integer = 0
Dim lblKC As Label
                
Do While i < dtlKortingen.Items.Count
      lblKC = dtlKortingen.Items(i).FindControl("lblKC")
      If lblKC.Text = UCase(txtToevoegen.Text) Then
           dtlKortingen.SelectedIndex = i
      End If
      i = i + 1
Loop

dtlKortingen.DataBind()

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:14
Je kan ook in je DataList een label bijhouden die de PK van de records bevat.
In de ItemDataBound ga je dan gaan kijken of de PK == met de PK van het nieuwe record. Indien dit het geval is, dan selecteer je dat dataItem.

https://fgheysels.github.io/

Pagina: 1