[ mr.zhile @ 01.04.2009. 07:41 ] @
Npravio sam DataSuorce,,,i hteo sam ne znam kako da povezem datasuorce sa comboboxom,da napunim combobox podacima iza baze,da klikom na combobox vrsim filtriranje....nesto slicno
select * from tabela where polje=combobox.tex;
HELP MEEEE
[ Mikelly @ 01.04.2009. 11:54 ] @
Evo pokusaj pomoci, nijesi bio previse jasan.

Napravi jedan bindingsource za tvoju tabelu (select * from tabela, kod tebe)

Napravi drugi bindingsorce za combobox. Postavi datasource svojstvo combobox-a na taj novi bindingsource, displaymember svojstvo na neko smisleno polje a valuemember svojstvo na polje koje uporedjujes (ti si ga nazvao prosto 'polje').

Onda podesis filter svojstvo prvog bindingsource-a da ti bude nesto kao "polje = comboBox.SelectedValue".

Alternativno, mozes da pozoves Fill() prilikom SelectedValueChanged dogadjaja combobox-a da napunis prvi bindingsource podacima iz baze (ustvari punis tabelu povezanu na bindingsource, ne sam bindingsource). U tom slucaju moras imat' odgovarajuci Fill metod koji bi prvihvatio kao parametar izabranu vrijednost iz combobox-a.

Nadam se da sam malo pomogao, ali ne bi malo skodilo pojasnis konkretan problem.

Pozdrav.

[Ovu poruku je menjao Mikelly dana 01.04.2009. u 13:32 GMT+1]
[ mr.zhile @ 01.04.2009. 13:42 ] @
>

Nemam neki konkretan zadatak,vec sam zarad vzbanja hteo da napravim
programcic za filtriranje podataka,koji bi funkcionisao nesto ovak
- imam ComboBoxove za svako polje iz tabela,i jeddan Grid kada promenim
sadrzaj komba da se memnjaju podaci u gridu i da se ta kolona ne
prikazuje....???
Kako napuniti kombo box vrednostima iza baze za dato polje?
I uopdte mi nije jasno kako se povezuju kontrole sa bazom(sem grida koji sam
skontao)?
Da napomenem koristim Visual Studio 2008



[Ovu poruku je menjao mr.zhile dana 01.04.2009. u 21:01 GMT+1]
[ dava @ 02.04.2009. 07:06 ] @
To je los nacin za filtriranje. Zamisli da ti tabela ima par stotina ili hiljada slogova i ti ih strpas u combobox. Pa korisnik da se ubije trazeci po combu da bi isfiltrirao u gridu. Mozda da postavisneki textBox da ti isfiltrira combo da bi mogao lakse da nadjes vrijednost po kojoj ces filtrirati grid :)

Ovo zadnje je sala.

Probaj ovako. Stavi textBox i na njegov dogadjaj change upisi kod:

Code:

...
select * from tabela where polje like textBox.text + '%'
...
[ mr.zhile @ 02.04.2009. 08:05 ] @
Hvala naa savetima,....ali meni nije jasno gde da smestrim taj kod...znam
otprilike kako select iskaz treba da izgleda,ali gde da ga smestim?Kakio da
ga povezem sa gridom,tj datasetom ili datasorsom?



[Ovu poruku je menjao mr.zhile dana 02.04.2009. u 10:32 GMT+1]
[ dava @ 02.04.2009. 10:13 ] @
Recimo da ovako pri startu forme prikazujes podatke:

Code:

string query = "SELECT * FROM Tabela";
Napunj(query);

void Napuni(string sql)
{
    OleDbDataAdapter dAdapter = new OleDbDataAdapter(sql, connString);
    DataTable dTable = new DataTable();
    dAdapter.Fill(dTable);

    dgGrid.DataSource = dTable;
}


u gridu bi dobio sve slogove tabele 'Tabela'.
Stavis jedan textBox i na njegov dogadjaj textBox_Changed upises:

Code:

string query = "SELECT * FROM Tabela WHERE nekaKolona like '" + textBox + "%'";
Napunj(query);


Na svaku promjenu sadrzaja textBox-a formira se SQL upit kojeg prosledjujemo metodi koja cita bazu i prikazuje podatke u gridu.
[ mr.zhile @ 21.04.2009. 11:09 ] @
@dava
Sa velikim zakasnjenjem HVALA
A imam jos jednu nedoumicu...zar moraju da se prave table adapteri datasource....jer ne moze nekako da se sql string poveze sa vec kreiranim dataadapterom,....?