AleDry

Utente Normale
Autore del topic
14 Ottobre 2008
65
0
Miglior risposta
0
Ciao a tutti!

Chiedo a voi esperti, devo creare un pulsante Ordina in vb2008 che mi ordini cliccando un radio button a seconda se lo voglio per data di nascita o per cognome, dei nomi scritti da noi...vi scrivo il mio codicee lo screen:

listino.jpg


Public Class frmElencoNomi

'Struttura dati
Private Structure Dati
Dim cognome As String
Dim nome As String
Dim dn As Date 'Data di Nascita
Dim residenza As String
End Structure

Dim Elenco() As Dati
Dim i As Byte 'indice di scansione dell'array

Private Sub frmElencoNomi_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
btnProcediCar.Enabled = True
txtNumPersone.Enabled = True
grpDati.Enabled = False
btnCarica.Enabled = False

i = 0 'inizializza l'indice di scansione dell'array
End Sub

Private Sub btnProcediCar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnProcediCar.Click

ReDim Elenco(Val(txtNumPersone.Text) - 1) 'ridimensiona l'array a runtime

btnProcediCar.Enabled = False 'il bottone per avviare il caricamento ora è disabilitato
txtNumPersone.Enabled = False 'il numero di prodotti ora non deve poter essere modificato
grpDati.Enabled = True 'le caselle di testo per i dati del prodotto ora sono abilitate
btnCarica.Enabled = True 'il caricamento ora è abilitato
End Sub

Private Sub btnCarica_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCarica.Click
'Input dei prodotti nel listino
With Elenco(i)
.cognome = txtCognome.Text
.nome = txtNome.Text
.dn = Format(CDate(txtDataNascita.Text), "dd/MM/yyyy")
.residenza = txtResidenza.text
End With

i = i + 1 'aggiorna l'indice di scansione dell'array

'Se vettore pieno allora disabilita il bottone carica
'altrimenti pulisce
If i = Val(txtNumPersone.Text) Then
btnCarica.Enabled = False
grpDati.Enabled = False
Else
txtCognome.Text = ""
txtNome.Text = ""
txtDataNascita.Text = ""
txtResidenza.Text = ""
txtCognome.Focus() 'torna sul primo textbox
End If

End Sub

Private Sub btnVisualizza_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVisualizza.Click
Dim indice As Byte
LstElenco.Items.Add("COGNOME".PadRight(15) & "NOME".PadRight(15) & "DATA DI NASCITA".PadRight(15) & "RESIDENZA".PadLeft(15))
LstElenco.Items.Add("".PadRight(60, "-"))
For indice = 0 To Val(txtNumPersone.Text) - 1
With Elenco(indice)
LstElenco.Items.Add(.cognome.PadRight(15) & _
.nome.PadRight(15) & _
CStr(.dn).PadRight(15) & _
.residenza.PadLeft(15))
End With
Next indice
End Sub


Private Sub btnFine_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFine.Click
End
End Sub


Private Sub grpProdotto_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles grpDati.Enter

End Sub
Private Sub LstListino_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LstElenco.SelectedIndexChanged

End Sub
Private Sub Label4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label4.Click

End Sub
Private Sub txtNumProdotti_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtNumPersone.TextChanged

End Sub
End Class


La parte finale non so cos'è...è comparsa adesso...


Quindi devo ordinare i dati che inserirò...
coiè devo creare un groupbox con dentro 2 radiobutton:
-Ordina per data di nascita
-Ordina per Cognome

Mi potreste aiutare??
Non so da dove pertire...
Grazie mille...
è urgente...
Ringrazio tutti!
ciao"!
 
Ultima modifica:
si scusami...qualcuno sa aiutarmi? x favoreeeeee
--------------- AGGIUNTA AL POST ---------------
Ah ho capito perchè sono comparse le ultime righe...ho cambiiato dei nomi...quindi non guerdatele...grazie e ciao!
 
Ultima modifica:
wow grazie mille! ma ad adattarlo con il mi programma???

cioènel mio programma questi:

Private Sub InitializeMyListBox()
' Add items to the ListBox.
listBox1.Items.Add("A")
listBox1.Items.Add("C")
listBox1.Items.Add("E")
listBox1.Items.Add("F")
listBox1.Items.Add("G")
listBox1.Items.Add("D")
listBox1.Items.Add("B")

li prende in input...

Devo inserirli io in base al numero che metto in input, cioè io metto 2 persone, devo mettere tt i dati e faccio visualizza, poi nel pulsante Ordina...devo decidere quale radiobutton usare, cioè se per data o per cognome e poi clicco ordina...è questo che voglio fare...qualche suggerimento? perchè quello che mi hai scritto è giustissimo e ti ringrazio....ma per adattarlo al mio programma???
Come verrebbe?? GRAZIEEEEEEEEEEEEEE