Help DATASET

mercoledì 17 dicembre 2003 - 12.18

Nicola Profilo | Senior Member

Attraverso una stored mi ricavo 3 record... attraverso un dataset doverei scorrere i vari record e leggere il campo "Modulo" e mostrare o nascondere dei pannelli ho fatto cosi:

ma mi legge solo l'ultimo record dei 3 selezionati dalla SP (Rows.Count -1 ???).... se metto -3 mi legge il primo come fare?? ... dalla mia stored ricavo al massimo 3 record ma posso ricavarne anche 1 solo... vorrei riuscire a leggere il campo "Modulo" di ogni record... ovvero leggo "Hview" allora mostro e nascondo pannelli, se leggo ANCHE HSos mostro e nascondo dell'altro ecc.


grazieee!!

Conn.Open()


Dim MyCommand As New SqlDataAdapter(cmdSql)
DS = new DataSet()
MyCommand.Fill(DS, "Tab")
dim source as dataview=ds.Tables("Tab").DefaultView

Dim i

For i = 0 To ds.Tables("Tab").Rows.Count -1

If ds.Tables("Tab").Rows(i).Item("Modulo") = "HView" Then

T_HView.Visible = True
F_HView.Visible = False
else
T_HView.Visible = False
F_HView.Visible = True

End If

Next


Conn.Close()

Brainkiller Profilo | Guru

In che senso -3 ti legge il primo ?
Vai in debug metti diversi breakpoint e verifica il contenuto degli oggetti/variabili durante l'esecuzione e del flusso delle istruzioni e degli if all'interno del ciclo.
Per me c'è qualcosa che non va.

Se tu fai un ciclo sui 3 record, e il campo modulo non è Hview nel terzo ciclo è chiaro che il flusso passa nell'else e quindi ti nasconderà sempre il pannello T e visualizzerà l'F quindi è chiaro che i primi 2 record te li perdi. Forse per questo dici che ti prende l'ultimo.

Spiegati meglio visto che lo spazio c'è.
ciao

david

Nicola Profilo | Senior Member

Dalla mia SP ho un risultato di 3 record... di ogni record devo leggere il campo "Modulo" e agire di conseguenza se leggo Pippo then .... else ... , poi potrei leggere anche pluto then ... else .... , poi potrei leggere anche paperino then ... else ....;

grazie per l'aiuto!

Brainkiller Profilo | Guru

Allora usa l'istruzione Select Case che in pratica riproduce lo stesso concetto di tanti if elseif elseif elseif ecc.
Guarda nella guida del Framework, cercando "Select Case". Poi per ogni blocco inserisci le istruzioni per visualizzare un modulo oppure un altro.
ciao
david

Nicola Profilo | Senior Member

x=2
select case x
case 1
risp="a"
case 2
risp="b"
case 3
risp="c"
end select

'risp conterrà la stringa "b"

nel mio caso X puo' essere uguale a 1 ma anche a 2 e addiritura 1,2,3
in questo caso il select case funziona??

grazie David

Brainkiller Profilo | Guru

Dipende puoi usare Case 1 or 2 oppure Case 1 to 3 ci sono diverse possibilità.
Ma l'algoritmo devi metterlo giù tu, non so se per il tuo problema necessiti di due if uno dentro l'altro o ti è sufficiente un case oppure un case in cui all'interno ci sono due if, insomma devi metterti lì carta e penna e trovare tutte le combinazioni possibili e creare le strutture di controllo necessarie. Io ti posso aiutare solo per ciò che riguarda le istruzioni che cosa usare o meno ma riguardo al flusso lo sai solo tu.

ciao
david

Alexia Profilo | Newbie

Ciao Nicola.... Scusa se Ti Disturbo......
a Proposito di questo benedetto select case
io vorrei """" che quando sulla textbox1 mi compare il numero 10 sulla text2 mi scrive 1...
quando invece sempre sulla text1= 11 sulla text2 20
sempre text1 = 12 text2 35
text1 = 13 text2 48
text1 = 14 text2 60.....
sono inchiappata :-(((
Grazie Grazie :-))

Giuseppe.Schiappapie Profilo | Newbie

xxx
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5