Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Supratensiuni accidentale

Cuțit/ briceag drumetie

Cum am acces la o parte dintr-un ...

Mother's Day
 Recomandare aparat de vidat alime...

Izolatie exterioara casa parter P...

Cuvinte si expresii neclare

Mod de lucru Purmo Tempco Digital...
 Samsung S90C vs LG C3

Problema sunet RCS

Amortizor sertare bucatarie

Codrea Pallady
 Blocurile goale! Orase in car...

Motorul pe benzina 1.0 SCe65

Mostenire In 1986

Lentile sferica pentru astigmatism
 

Sortare cu ajutorul Combo Box

- - - - -
  • Please log in to reply
4 replies to this topic

#1
dumitru_liviu

dumitru_liviu

    New Member

  • Grup: Members
  • Posts: 4
  • Înscris: 22.03.2007
Salutare. Sper sa gasesc ajutorul aici.  :)

Vreau sa fac o aplicatie in Visual Basic 2005 Express Edition folosind o baza de date in SQL Server 2005 Express Edition.
Baza de date se numeste HOTEL si are tabelele: CAMERE (NrCamera, CodTipCamera, Etaj, StareCamera, Detalii) si TIPCAMERE (CodTipCamera, DenTipCamera).

Valori: CodTipCamera: AP, S, D
          DenTipCamera: Apartament, Single, Double

Am adaugat BD la projectul din VB.
Am folosit drag and drop si am adus tabela CAMERE in form sub forma de DataGridView. Functioneaza perfect, imi apar datele din BD.
Apoi am facut un ComboBox (denumit "cboDenTipCamera") la care i-am setat Data Source: TIPCAMEREBindingSource1, iar la Display Member: DenTipCamere. Functioneaza si asta perfect, cand rulez aplicatia, in ComboBox imi apar valorile din DenTipCamere (Apartament, Single, Double).

Ceea ce vreau eu sa fac este sa fac sa imi apara in acel DataGridView (unde acum imi apar toate datele din tabela CAMERE, adica toate camerele Single, toate Double si toate Apartament) doar camerele Single (sau doar camerele Double)  prin selectarea valorii din ComboBox. Adica, cand selectez din ComboBox valoarea Double, in DataGridView sa imi afiseze doar camerele Double. Cand selectez din ComboBox valoarea Single, in DataGridView sa imi afiseze doar camerele Single. La fel si pentru Apartament.

Eu stiu ca sintaxa in SQL ar fi: SELECT * FROM CAMERE WHERE DenTipCamere = 'Double'   (e corecta ?)

Imi puteti spune cum fac acest lucru?

Va multumesc mult de tot!

#2
teddycarebears

teddycarebears

    Member

  • Grup: Members
  • Posts: 247
  • Înscris: 18.02.2003
la datasourceid-ul de la gridview ii setezi in select parameters un controlparameter cu controlid-ul dropdownlistului (vezi ca pe web nu exista combo ci doar dropdown ;) )

ar trebui sa iti iasa ceva in genul liniei de cod de mai jos ... daca vrei sa folosesti id-ul camerei si nu denumirea atunci pui DefaultValue = 0 si Type = "Int32" ...

<SelectParameters>
	<asp:ControlParameter ControlID="ddlMyList" DefaultValue="" Name="room_type" PropertyName="SelectedValue" Type="String" />
</SelectParameters>

Edited by teddycarebears, 22 March 2007 - 22:40.


#3
dumitru_liviu

dumitru_liviu

    New Member

  • Grup: Members
  • Posts: 4
  • Înscris: 22.03.2007
imi pare rau, dar nu gasesc nicaieri "controlparameter ". Am atasat Proiectul . Daca ai timp sa te uiti sa vezi care e treaba, ti-as fi recunoscator.

Multumesc!

PS: sunt incepator in VB  :D

Attached Files



#4
teddycarebears

teddycarebears

    Member

  • Grup: Members
  • Posts: 247
  • Înscris: 18.02.2003
scuze ... am avut impresia tot timpul ca vorbesti de asp .net :( si de un dataset simplu care se facea super usor din aspx ... mai jos gasesti un exemplu pt asp .net si bo care il poti adapta super usor pentru ce ai tu ...

http://www.asp.net/l...b.aspx?tabid=63

#5
claz

claz

    Active Member

  • Grup: Members
  • Posts: 1,861
  • Înscris: 10.06.2005
Corectie> de fapt doresti o FILTRARE si nu o SORTARE. Sunt termeni complet diferiti.
Solutie:
- creezi un view parametrizat in sqlexpress (parametrul este elementul pentru filtrare)
- populezi cun combobox cu elementele pe care le doresti pentru filtrare
- creezi gridul asa cum ai facut initial din tabela CAMERE, dar nu din tabela, ci din view
Ti-a pus fill-ul la Form_Load; vei face o subrutina separata numai cu fill pentru grid, pe care o parametrizezi cu elementul de filtrat.
La evenimentul cobmobox_selectedindexchanged apelezi subrutina de mai sus si-i pasezi parametrul.
Solutia asta e aproximativ simpla, dar cere ceva experienta de lucru cu sql.
Daca nu te descurci, mergi pe varianta clasica:
Subrutina de populare grid este ceva de genul

    Dim ds As New DataSet
    Dim da As SqlDataAdapter = New SqlDataAdapter("SELECT filed1, field2 FROM CAMERE WHERE CodTipCamera = '" & parametru_preluat_din_combo & "'", string_conexiune)

    da.Fill(dsMessages, "Data")

    nume_datagrid.DataSource = ds.Tables("Data").DefaultView

Anunturi

Bun venit pe Forumul Softpedia!

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate