Toon posts:

[.net] datatable.select

Pagina: 1
Acties:

Verwijderd

Topicstarter
Deze methode geeft een collection van rows terug.
Graag zou ik echter de huidige datatable vervangen door de gefilterende versie.
ik dacht dit op te lossen door die rows toe te voegen aan een nieuwe datatable in een for each lus, maar dit werkt niet (een row kan maar toegewezen zijn aan één datatable...)
Andere oplossing, dataview >> rowfilter >> maar de gefilterde vesie kan je blijkbaar niet omzetten naar een datatable...

Groetjes

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
Kan je duidelijker zijn?
Lees even de P&W Quickstart, je topicstart is echt redelijk abstract. Doe eens wat meer uitleg enzo.

https://fgheysels.github.io/


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Je zoekt dus gewoon naar een dataview, in combinatie met een rowfilter.

[ Voor 31% gewijzigd door gorgi_19 op 04-09-2003 10:38 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
ik zal er wat code bijzetten :-)
bvb met dataview:
Visual Basic .NET:
1
2
3
4
5
Dim result As New DataTable()
            Dim view As New DataView()
            view.Table = dt
            view.RowFilter = "typeid=1"
            result = view.Table

nu wordt in result de originele tabel gezet en niet de gefilterde.

in nieuwe datatable copieren:
Visual Basic .NET:
1
2
3
4
rows = dt.Select("typeId=1")
            For Each row In rows
            result.Rows.Add(row)
            Next

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
Verwijderd schreef op 04 September 2003 @ 11:31:
ik zal er wat code bijzetten :-)
bvb met dataview:
Visual Basic .NET:
1
2
3
4
5
Dim result As New DataTable()
            Dim view As New DataView()
            view.Table = dt
            view.RowFilter = "typeid=1"
            result = view.Table

nu wordt in result de originele tabel gezet en niet de gefilterde.
Tuurlijk, want de Table property geeft de achterliggende tabel weer van de dataview. Een dataview is een view op de data, geen tabel zelf ofzo.

https://fgheysels.github.io/


Verwijderd

Topicstarter
whoami schreef op 04 September 2003 @ 11:44:
[...]

Tuurlijk, want de Table property geeft de achterliggende tabel weer van de dataview. Een dataview is een view op de data, geen tabel zelf ofzo.
ja, tot die conclusie was ik ook gekomen, en dit had ik al geprobeerd maar het werkte niet...
ik zoiets willen bereiken
Visual Basic .NET:
1
dim newdt as datatable = oldDt.select(filter)

of
Visual Basic .NET:
1
newdt.rows = oldDt.select(filter)

maar dat werkt ook allemaal niet!

Verwijderd

Topicstarter
heb zelf iets gevonden, ik wil het met jullie delen.
Visual Basic .NET:
1
2
3
4
5
6
dim newdt as datatable = olddt.clone() //alleen de structuur
dim row as new datarow
dim rows as datarow() = oldDt.select(filter)
for each row in rows
        newdt.importrow(row)
next

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
Misschien een andere manier:

Kan je die dataTable niet toevoegen aan een DataSet (als enige table dan), en dan die DataSet mergen?

https://fgheysels.github.io/

Pagina: 1