Visualizzazione dei risultati da 1 a 10 su 10

Discussione: dataview non funziona

  1. #1

    dataview non funziona

    Buongiorno a tutti.

    Ho estratto una serie di dati da un DB inserendoli nella DataTable "dtMenuInseriti"

    Ho cercato di fare un filtro di questi dati tramite una DataView ma non noto nessuna differenza.

    Ho fatto delle prove cambiando la modalitā di selezione del filtro e in questi casi il filtro funzionava.

    Perchč dunque sul campo su cui vorrei avvenisse il filtro non mi viene fatto?

    In questo caso non funziona:
    Dim DwSettimana As DataView = dtMenuInseriti.DefaultView()
    DwSettimana.RowFilter = "f34IDGiorno ='" + IdGiorno + "'"

    dove sbaglio?

    se cambio
    DwSettimana.RowFilter = "f34IDGiorno ='" + IdGiorno + "'"
    con
    DwSettimana.RowFilter = f03IdDieta='" + IdDieta + "'
    funziona.

    Perchč?

    Naturalmente a me serve il primo filtro.
    Vi sono dei casi in cui il dataview non funziona?

    grazie
    Roberto
    Robert

  2. #2
    Il campo data su cui fai il filtro di che tipo č?
    Se fosse di tipo datetima potrebbe avere anche data e ora
    ed allora il filtro non lo fa... potrebbe essere in formato
    mm/gg/yyyy e quindi il filtro non funziona.
    Sono solo ipotesi che sto facendo, fammi sapere
    Ciao
    Kalman
    Kalman

  3. #3
    Il tipo č (int 4).E'un campo contatore.

    Non riesco a capire perchč non mi fa il filtro. In altri casi, con campi dello stesso tipo funziona tutto bene.

    Help!!!
    Grazie
    Roberto
    Robert

  4. #4
    Originariamente inviato da robertovv
    Il tipo č (int 4).
    allora non vuole le virgolette

    Dim DwSettimana As DataView = dtMenuInseriti.DefaultView()
    DwSettimana.RowFilter = "f34IDGiorno =" + IdGiorno

  5. #5
    Prova a togliere gli apici:

    DwSettimana.RowFilter = "f34IDGiorno=" + IdGiorno

    Ciao
    Kalman
    Kalman

  6. #6
    Ho provato ma, passandogli una variabile di tipo int (Dim IdGiorno As Integer) mi restituisce:

    Formato della stringa di input non corretto.

    Altri suggerimenti?
    Robert

  7. #7
    IdGiorno va bene come stringa

    DwSettimana.RowFilter = "f34IDGiorno=" & IdGiorno
    Kalman

  8. #8
    Mettendo:

    DwSettimana.RowFilter = "f34IDGiorno=" & IdGiorno

    non mi genera errore nč se IdGiorno č un integer nč se č string ma continua a non farmi il filtro.
    Robert

  9. #9
    Penso di aver risolto:

    Dim DwSettimana As DataView = New DataView(dtMenuInseriti)
    DwSettimana.RowFilter = "f34IDGiorno ='" + IdGiorno + "'"
    If (DwSettimana.Count > 0) Then
    For b = 0 To DwSettimana.Count - 1
    Valore = DwSettimana.Item(b).Item(6) + ";
    "
    MenuCompleto = MenuCompleto + Valore
    Next
    End if

    Non so per quale motivo ma facendo:
    Dim DwSettimana As DataView = New DataView(dtMenuInseriti)
    DwSettimana.RowFilter = "f34IDGiorno ='" + IdGiorno + "'"
    If (DwSettimana.Table.Rows.Count > 0) Then
    For b = 0 To DwSettimana.Table.Rows.Count - 1
    Valore = DwSettimana.Table.Rows(b).itemArray.GetValue(6)+ ";
    "
    MenuCompleto = MenuCompleto + Valore
    Next
    End if

    ...non funzionava.

    Il problema quindi non era nel filtro ma nel modo di scorrere la dataview. Infatti, utilizzando il secondo metodo, sembra che la dataview mantenga lo stato e quindi non viene aggirnata. Apparentemente sembrava dunque che non facesse il filtro.

    Ringrazio tutti per gli aiuti forniti.

    Siete grandi!!
    Buon lavoro
    Roberto
    Robert

  10. #10
    Originariamente inviato da robertovv
    Non so per quale motivo ma facendo:
    ...If (DwSettimana.Table.Rows.Count > 0) Then...
    ...non funzionava.
    perche' cosi accedi alla tabella utilizzata per creare la dataview e non alla dataview.
    Quindi se applichi un filtro alla dataview che ti restituisce 5 righe su un totale di 10 appartenenti alla datatable, ad esempio
    dv.count ti restituisce 5
    dv.tables.rows.count ti restituisce 10
    Saluti a tutti
    Riccardo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.