Toon posts:

[vb.NET] DataGrid AllowSorting CurrentIndex klopt niet

Pagina: 1
Acties:

Verwijderd

Topicstarter
Het volgende ik heb een datagrid, deze laat ik wil laten sorteren op de eerste column hoe moet ik dat doen?

code:
1
DataGrid1.AllowSorting = true


Dat heb ik gedaan maar dan moet ik nog handmatig in mijn proggie op de sort knop drukken in de datagrid. Maar dat werkt dat wel, maar als ik dan dubbel klik op een row dan kloppen de gegevens voor die rij niet, dan is de CurrentIndex niet mee gesorteerd, hoe moet ik dit probleem oplossen?

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:32
Kijk hier eens:
[rml][ C#] Datagrid Sort on page_load?[/rml]

Er staat over dit onderwerp trouwens ook genoeg informatie op de MSDN en in de .NET help. Druk eens op F1 op die allowsorting, en ik durf wedden dat je met enkele klikken een voorbeeldje vindt.

Je kunt er natuurlijk ook altijd voor zorgen dat je eerst gaat kijken welke row er geselecteerd is (sla de PK ofzo ergens in de viewstate op), daarna sorteer je, en dan zoek je de index op van de row die eerst de currentrow was, en dan zet je de index.

[ Voor 30% gewijzigd door whoami op 17-04-2004 17:02 ]

https://fgheysels.github.io/


Verwijderd

Topicstarter
Ik heb dit gevonden:

code:
1
2
        Dim bm As BindingManagerBase = Me.DataGrid1.BindingContext(Me.DataGrid1.DataSource, Me.DataGrid1.DataMember)
        Dim dr As DataRow = CType(bm.Current, DataRowView).Row


maar waar moet ik dit nu plaatsen?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
    Dim ds As New DataSet
    Dim dt As New DataTable
    Dim columnFullName, columnAdres, columnPostcode, columnStraat As DataColumn

    Dim row As DataRow

    Function fillList()

        'connect to outlook 
        ' Create Outlook application.
        Dim oApp As Outlook.Application = New Outlook.Application

        ' Get namespace and Contacts folder reference.
        Dim oNS As Outlook.NameSpace = oApp.GetNamespace("MAPI")
        Dim cContacts As Outlook.MAPIFolder = oNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts)
        Dim oCount = cContacts.Items.Count

        Dim contact

        dt.TableName = "contactPersonen"

        'Column FullName
        columnFullName = New DataColumn
        columnFullName.DataType = System.Type.GetType("System.String")
        columnFullName.ColumnName = "Naam"
        columnFullName.Caption = "Naam"
        dt.Columns.Add(columnFullName)

        'Column Adres
        columnAdres = New DataColumn
        columnAdres.DataType = System.Type.GetType("System.String")
        columnAdres.ColumnName = "Adres"
        columnAdres.Caption = "Adres"
        dt.Columns.Add(columnAdres)

        'Columns Postcode
        columnPostcode = New DataColumn
        columnPostcode.DataType = System.Type.GetType("System.String")
        columnPostcode.ColumnName = "Postcode"
        columnPostcode.Caption = "Postcode"
        dt.Columns.Add(columnPostcode)

        'Columns Plaats
        columnStraat = New DataColumn
        columnStraat.DataType = System.Type.GetType("System.String")
        columnStraat.ColumnName = "Plaats"
        columnStraat.Caption = "Plaats"
        dt.Columns.Add(columnStraat)

        'Place all the items in the listbox.
        For Each contact In cContacts.Items

            row = dt.NewRow
            row.Item("Naam") = contact.FullName
            row.Item("Adres") = contact.BusinessAddressStreet
            row.Item("Postcode") = contact.BusinessAddressPostalCode
            row.Item("Plaats") = contact.BusinessAddressCity
            dt.Rows.Add(row)

        Next

        DataGrid1.AllowSorting = True 'Data can be ordered by name
        DataGrid1.PreferredColumnWidth = 308 'Standaard breedte van de columns
        DataGrid1.SetDataBinding(dt, "") 'Datagrid laten vullen

        'Clear all
        oApp = Nothing
        oNS = Nothing
        cContacts = Nothing
        contact = Nothing

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:32
Euhm, heb je het nu over web- of winforms?
In WebForms heb je niet zoiets als een BindingManager / CurrencyManager.

Oh, en het is ook niet de bedoeling dat wij hier de code-snippits die jij vindt in elkaar gaan plakken tot 1 groot samenraapsel.

[ Voor 38% gewijzigd door whoami op 17-04-2004 17:37 ]

https://fgheysels.github.io/


Verwijderd

Topicstarter
whoami schreef op 17 april 2004 @ 17:35:
Euhm, heb je het nu over web- of winforms?
In WebForms heb je niet zoiets als een BindingManager / CurrencyManager.

Oh, en het is ook niet de bedoeling dat wij hier de code-snippits die jij vindt in elkaar gaan plakken tot 1 groot samenraapsel.
Sorry vergeten te zeggen, ik maak gebruik van WinForms

Kan ik niet van te voren al de datatable al sorteren ofzo? Dat lijkt me veel makkelijker!

[ Voor 11% gewijzigd door Verwijderd op 17-04-2004 18:14 ]