Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Multiple Views za isti DataTable

[es] :: .NET :: WPF Programiranje :: Multiple Views za isti DataTable

[ Pregleda: 3607 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vortex77

Član broj: 91694
Poruke: 124
*.static.sbb.rs.



+1 Profil

icon Multiple Views za isti DataTable27.08.2012. u 08:50 - pre 141 meseci
Pozdrav,

problem je sledeci:

- u DataSet-u se nalazi DataTable (MySql DB) sa 3 polja ID, SIFRA, NAZIV

Potrebno je povezati ovu tabelu na dva combobox-a s'tim sto u prvom treba prikazati podatke u ascending, a u drugom descending redu. Za sada sam probao da ovo realizujem koristeci jedan CollectionViewSource sa podesavanjem sortinga u codebehind-u, sa dva razlicita CVS-a sa podesavanjem u codebehind-u, XAML-u... ali svaki put dobijem isti rezultat... vrednosti oba combobox-a su uvek isto sortirani.

U pitanju je klasican obrazac za pretragu gde su vrednosti combobox-a parametri. Potrebno je korisniku omoguciti "lagan" izbor vrednosti postavljanjem 1. cb-a na pocetnu, a 2. na krajnju vrednost iz tabele (naravno i podesiti sortiranje). U combobox-ovima prikazuju se SIFRA i NAZIV (sortiranje je prema SIFRI) dok se prilikom poziva procedure za pretragu prosledjuje ID izabrane vrednosti.

 
Odgovor na temu

Dusan Kondic
Programer
ZR "Parametar" Ljubovija
Ljubovija

Član broj: 49961
Poruke: 225
*.adsl-a-1.sezampro.rs.

Sajt: www.drinacoding.com


+14 Profil

icon Re: Multiple Views za isti DataTable27.08.2012. u 09:20 - pre 141 meseci
Postoji li razlog da ne radiš sa dve DataTabele?
Ja bih to uradio ovako:
Code:

            dt1.DefaultView.Sort = "Sifra DESC";
            dt2 = dt1.DefaultView.ToTable();

Radi jasnoće, evo i malo šireg koda:
Code:


            #region Kreiranje DataTabele dt1
            DataTable dt1 = new DataTable("dt1");
            dt1.Columns.Add("Id", typeof(Int32));
            dt1.Columns.Add("Sifra", typeof(string));
            dt1.Columns.Add("Naziv", typeof(string));
            #endregion

            #region Popunjavanje DataTabele dt1
            DataRow dRow;
            for (int i = 1; i < 6; i++)
            {
                dRow = dt1.NewRow();
                dRow[0] = i;
                dRow[1] = i.ToString();
                dRow[2] = "Objekat " + i.ToString();
                dt1.Rows.Add(dRow);
            }
            #endregion

            #region Kreiranje DataTabele dt2
            DataTable dt2;
            dt1.DefaultView.Sort = "Sifra DESC";
            dt2 = dt1.DefaultView.ToTable();
            dt2.TableName = "dt2";
            dt1.DefaultView.Sort = "";
            #endregion

            #region Bindovanje ComboBox-ova
            comboBox1.SetBinding(ComboBox.ItemsSourceProperty, new Binding() { Source = dt1 });
            comboBox2.SetBinding(ComboBox.ItemsSourceProperty, new Binding() { Source = dt2 });
            #endregion
 
Odgovor na temu

vortex77

Član broj: 91694
Poruke: 124
*.static.sbb.rs.



+1 Profil

icon Re: Multiple Views za isti DataTable27.08.2012. u 10:05 - pre 141 meseci
Sjajno!

Uz male modifikacije, problem je resen!

Hvala!

Edit:
Za slucaj da jos nekome zatreba resenje ovog problema evo i modifikacija (umesto "rucnog" kreiranja DataTable-a i popunjavanja):

Code:

 MyDataSet myDS = (MyDataSet)this.FindResource("myDS"); // iz Xaml-a
         
 MyTableTableAdapter myTable_TA = new MyTableTableAdapter();

 myTable_TA.Fill(myDS.MyTable);
            
  MyTableDataTable dt1 = myDS.MyTable;
  DataTable dt2;
  MyTableDataTable dt3 = new MyTableDataTable();  // radi prihvata podataka iz combobox-a (dt3.SIFRAColumn)


  dt1.DefaultView.Sort = "SIFRA desc";          
  dt2 = dt1.DefaultView.ToTable();
  dt3.Merge(dt2);
            
  dt1.DefaultView.Sort = "SIFRA asc";  // u slucaju da je interno sortiranje u TableAdapter-u po drugom polju a ne po SIRFA-i

            
  combobox1.SetBinding(ComboBox.ItemsSourceProperty, new Binding() { Source = dt1 });
  combobox2.SetBinding(ComboBox.ItemsSourceProperty, new Binding() { Source = dt3 });




[Ovu poruku je menjao vortex77 dana 27.08.2012. u 11:19 GMT+1]

[Ovu poruku je menjao vortex77 dana 27.08.2012. u 11:21 GMT+1]
 
Odgovor na temu

[es] :: .NET :: WPF Programiranje :: Multiple Views za isti DataTable

[ Pregleda: 3607 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.