Gestionale albergo

lunedì 05 gennaio 2004 - 10.49

trinity Profilo | Guru

Ragazzi vi è mai capitato di vedere un programma gestionale di un albergo? Se si sapete e avete visto il planning? Di solito viene creato con grandi celle di vario colore che rappresentano il numenro delle acemre dell'albergo e all'interno di queste celle che formano una griglia, vi sono riportati i dati della camera di riferimento.
La mia domanda è la seguente: In vb net si può creare una griglia di questo genere? Ossia creata con delle celle di una determinata grandezza ed altezza in cui posso inserire dati prelevati da un database e cambiarci eventualmente anche il colore di sfondo?

Se si aiutatemi ne ho molto bisogno.

Accetto consigli e sopreattutto esempi.


Ciao

Brainkiller Profilo | Guru

Certo che si può fare.
Puoi anche usare dei semplici button e metterli uno a fianco all'altro con dei cicli for.
Oppure ti crei un custom control che poi magari potrai riutilizzare per altri scopi o rivendere. Non è detto che tutti i programmi per gli alberghi debbano avere la stessa struttura. Pensaci un po' vedi un po' quale è la struttura migliore e poi implementi.
Non hai bisogno di esempi, la cosa è abb. facile, si può fare tutto con dei Button con dei cicli For/For Each per ciclare sui controlli.
Con i Button puoi anche cambiare colore di sfondo.
ciao

david

trinity Profilo | Guru

Ok, ovviamente devo fare un ciclo for per il numero di record che ho nel database, ma in una maschera a risoluzione 800x600 come faccio a mettere n button devo utilizzare la scroll sia in orizzontale che in verticale, visto che non l'ho mai fatta, hai un esempio di codice da passarmi per utilizzare la scroll? e poi come faccio a determinare quando la scroll deve essere attivata nella form, ossia quando il numero dei button supera l'altezza o larghezza della stessa form?

ciao e grazie mille

Brainkiller Profilo | Guru

La scroll non l'ho mai usata, proprio per i problemi di cui parli tu.
Visto che hai le dimensioni del contenitore 800x600 ma anche altre dimensioni tipo 340x240, con un po' di matematica e divisioni puoi calcolarti automaticamente la dimensione di ogni pulsante (altezza e larghezza) e riposizionarli e quindi teoricamente il tuo custom control potrebbe fare un resize automatico di tutti i bottoni contenuti indipendentemente dalla dimensione.
ciao

david

trinity Profilo | Guru

sto facendo delle prove per caricare con una for/next dei pulsanti, ho utilizzato il seguente codice:

Dim pulsante As New Button()
Me.Controls.Add(pulsante)

poi le caratteristiche del colore dello sfondo è una sciocchezza, quello che mi rimane difficile è come faccio a caricare su questi pulsanti che creo un dato di una tabella di database e poi come faccio ad attivare il click su uno di essi per aprire ad esempio altre informazioni ecc.?

ciao

Brainkiller Profilo | Guru

Beh ai pulsanti puoi associare un dato proveniente dal DB per esempio nella proprietà Text.
Per esempio l'ID Stanza/Camera.
Poi per aggiungere gli eventi onclick o simili a runtime puoi leggere qui:
http://www.dotnethell.it/tips/tip.aspx?TipID=92

Successivamente una volta premuto il tasto puoi recuperare l'ID (Proprietà Text) ed eventualmente caricare ulteriori dati dal DB.
Ciao
david

trinity Profilo | Guru

ecco il mio codice di prova:

Public WithEvents pulsante As New Button()
Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim contatore As Integer
For contatore = 1 To 1
If contatore = 1 Then
Me.Controls.Add(pulsante)
pulsante.BackColor = Color.LightGreen
pulsante.FlatStyle = FlatStyle.Flat
pulsante.Text = "Camera N.101" & Chr(10) & Chr(10) & "Stato: LIBERA"
pulsante.TextAlign = ContentAlignment.TopLeft
pulsante.Height = "75" : pulsante.Width = "150"
End If
Next
End Sub


ho visto il link che mi hai postato solo che mi da errore sul AddHandler, mi puoi fare un esempio in base al codice che ti ho postato? devo attivare la proprietà click dell'oggetto pulsante che ho dichiarato.

AIUTOOO!!!
:-)

Ciao

trinity Profilo | Guru

mi dice che l'adressoff non è dichiarato e poi dove devo inserire quella stringa?

trinity Profilo | Guru

David ci sono riuscito a far funzionare il metodo addhandler ma ti volevo chiedere come faccio in base al numero di button che creo, i quali possono sempre variare di numero, creare tante private sub mybutton_click....end sub e così via

ciao

trinity Profilo | Guru

Si ma nel tip c'è scritto che prima crei ad esempio

private sub mybutton_click ecc....end sub

poi

si crea una variabile

dim pulsante as new button

e poi nella sub si crea

AddHandler pulsante.Click, AddressOff MyButton_Click

a questo punto io mi blocco perchè se ho creato n button (quindi un array) come faccio? Dovrei per n volte aggiungere il seguente codice: "AddHandler pulsante.Click, AddressOff MyButton_Click" ovviamente variando l'indice dell'array?

Se no come faccio? per me è la prima volta non puoi farmi vedere un esempio???

Ciao

trinity Profilo | Guru

volevo chiederti una informazione: il datagrid di vb net ti permette di inserire nella singola cella un colore di sfondo diverso caricato esternamente e anche un'image? Perchè stavo pensando che il mio problema poteva essere risolto dal datagrid, solo che voglio sapere se ha almeno le stesse funzioni dell'mshflexgrid di vb6..

P.s. dove posso trovare degli esempi in cui viene utilizzato il datagrid inserendo il dati del database manulmente senza utilizzare il dataset? e dove vengono anche sfruttare le funzione di estetica dello stesso datagrid?


CIAO

trinity Profilo | Guru

ragazzi mi potete aiutare su questo codice che ora posto?
da come potete notare ho creato un ciclo for per la creazione di tre button, ma varieranno perche il numero di button devono essere pari al numero di record di una tabella di un database, ma non è questo problema, il problema è il seguente, devo allineare 5 button su una riga di una form e 5 di sotto e così via per tutto il numero di button....

mi potete dire come fare? Sotto c'è riporato il codice che ho creato



Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Crea tre Buttons a run-time
Dim Btn As Button
Dim I As Byte

For I = 1 To 3
Btn = New Button()
With Btn
Me.Controls.Add(Btn)
.Height = 30
.Width = 50
.Text = "Button#" & I.ToString
.Left = 30
.Top = (I * .Height) + .Height + 10
.Visible = True

AddHandler Btn.Click, AddressOf ClickSuBottone
End With
Next
End Sub

Private Sub ClickSuBottone(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim Btn As Button
Btn = DirectCast(sender, Button)
MessageBox.Show(Btn.Text)
End Sub
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5