Newsgroup: it.comp.lang.visual-basic
Titolo: [ADONET] Niubbo...muoversi tra righe e colonne

Allora il wodkino fa la domanda stupida ma la deve fare....
IL DB è access....e la pagina è aspx....sotto ce sta adonet
Fatta la connessione
data adapter
data set
Bene sono nel dataset....ho fatto il recordcount agganciato ad un
command....ci sono 6 records...quindi fin qui ho fatto tutto bene!
testato con
Me.TextBox1.Text = CStr(Me.SetdiDatiTEST11.Tables("Messaggi").Rows.Count())
Bene mi son fidato...nel fare il databinding (è una banalissima pagina di
test ci son 3 textbox(provato anche con le label)) che riporta i 3 campi
della tabella di prova!
A dir la verità ho provato a far fare a quei pseudowizard di vbnet...ma non
funzionano bene(o non riesce a me)
Cmq spippolando (che è la cosa migliore per capire)siamo a questo:
 il dataset vien generato con la query che voglio io....e non è poco!
Solo che dovrebbe fare come il vecchio ADO+asp
all'inizio si sposta sul primo record e poi avanti e indietro con le solite
"freccette"
beh il databindings non va nel senso che all'inizio son tutti bianchi i
textbox
l'ha impostato vbnet così (ha fatto da se scegliendo i campi da fare bind)
  <TD style="WIDTH: 304px">
<asp:label id=lblTitolo runat="server" Text='<%#
DataBinder.Eval(SetdiDatiTEST11, "Tables[messaggi].DefaultView.[0].Titolo")
%>' Width="301px">
 </asp:label></TD>
il bello è che sotto tutto c'è perche se eseguo da un command
Me.TextBox1.Text =
CStr(Me.SetdiDatiTEST11.Tables("Messaggi").Rows(0).Item("Titolo"))
si riempie!
  Le domande son 2
a) Si può farlo apparire subito senza farsi una sub "personale" che riempie
tutti i campi o mi posso fidare (e se si come) di sto Binding?
b) Lo so che non ha senso con i dataset parlare di Next e Previous
...ma davvero non c'è altro modo che memorizzarsi una var con l'indice del
"record corrente" (improprio anche sto termine lo so) e usare quello per
andare a zonzo in successione fra le righe? ...era comodo MoveNext e
MovePrevious!
 mi devo fare delle function che le emulano per andare avanti e indietro a
pagine rappresentanti un record? Male di poco si fa una volta sola...ma che
palle!
Thanks a chi mi risponde!
--
Il Wodkino Nazionale è a : 
www.martek.it
Pagina Vb/Bestiario/Lamer Experience :
http://www.martek.it/go.asp?portamia=2
Quotefix e altro: 
http://www.martek.it/go.asp?portamia=4
Usr: ICLVB Pw: amici

 ha scritto nel messaggio
news:YaPOa.2913$it4....@news1.tin.it...
[CUT]
:Le domande son 2
:
: a) Si puň farlo apparire subito senza farsi una sub "personale" che
riempie
: tutti i campi o mi posso fidare (e se si come) di sto Binding?
:
Passo, non uso mai il batabinding, neanche per le textbox, abitudine :-)
: b) Lo so che non ha senso con i dataset parlare di Next e Previous
: ...ma davvero non c'č altro modo che memorizzarsi una var con l'indice del
: "record corrente" (improprio anche sto termine lo so) e usare quello per
: andare a zonzo in successione fra le righe? ...era comodo MoveNext e
: MovePrevious!
:  mi devo fare delle function che le emulano per andare avanti e indietro a
: pagine rappresentanti un record? Male di poco si fa una volta sola...ma
che
: palle!
Si non ha piů molto senso parlare di CurrentRecord ecc. , ad ogni modo c'č
il CurrencyManager che fa un po' di queste cose. E' lo stesso oggetto che
usa il wizard, dacci un occhiata.
...e togli quel niubbo dal subject :-) !!!
Ciao, Luca.

Il DataBinding l'ho bandito.
Cerco di evitarlo.
Consideriamo che con 
ASP.NET
, al contrario delle Windows form, il data
binding  è unidirezionale.
In Windows form gestisco il binding, record avanti, indietro, primo e ultimo
con la classe
BindingManagerBase, non definita in 
ASP.NET
.
Un binding dovrebbe essere possibile, ho iniziato ma ho trovato una
soluzione immediata che soddisfava, sotto
illustrata; in quanto le classi posseggono:
 Me.DataBind()
 Me.TextBox1.DataBind()
--------
dovendo rispondere in tempo ristretto, che non permetteva ricerche, ho
adottato la seguente soluzione coatta:
1 DropDownList: Add gli ID ; visibile=false ; caricato elenco solo al Load ;
SelectedIndex = 0
5 TextBox
1 CheckBox
l'ID viene passato ad un metodo:
Private Sub ValoriControlli(ByVal IDProdotto As Int32)
query > DataAdapter > DataTable > Popola i componenti
Aggiunto 4 Button
<<  <  >  >>
Spostamento del SelectedIndex , tramite gli Button
passaggio dell'ID al metodo
Venia.
Non ho avuto il tempo per soluzioni migliori.
giuseppeD


 alias <Wodka40°> it writes:
Un piccolo aiutino ad un Niubbio sempre incazzato
:)
Private RecordIndex As Integer
'Nel load
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
    'Riempio
    SqlDataAdapter1.Fill(DataSet11)
    'Record Count in una label1
    Label1.Text = DataSet11.Fornitori.Rows.Count.ToString
    'Uso la Session c'era prima (Asp)  perchè non dovrei usufruirne in .Net?
    Dim intIndex As Integer
    If Session("IndexSession") Is Nothing Then
        RecordIndex = 0
    Else
        RecordIndex = CInt(Session("IndexSession"))
    End If
End Sub
'Questo Pulsante va solo avanti quello che va indietro credo che per quanto
niubbio sai farlo :P pure tu
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
    If RecordIndex < DataSet11.Fornitori.Rows.Count - 2 Then
        RecordIndex += 1
    End If
End Sub
'Ed ecco qui il mio bel BINDING LATO SERVER ;)
Private Sub Page_PreRender(ByVal sender As Object, ByVal e As
System.EventArgs) Handles MyBase.PreRender
    TextBox1.Text = DataSet11.Fornitori.Rows(RecordIndex)("Codice").ToString
'Dove (RecordIndex)->Index della riga
'        ("Codice")->Header della Colonna
    Session.Add("IndexSession", RecordIndex)
End Sub
Riguardo alle tue domande beh ne abbiamo già discusso...
...bisogna un pò artificiarsi non è detto che con Aspx è tutto risolto.
esempio di DataRow
dim MyDataRow as DataRow = DataSet11.Fornitori.Rows(RecordIndex)
Ciao
Alessandro
-- 
Morfeus®
Free Joint
 :PII