C# - Problemi i rješenja izdvojena tema

poruka: 2.151
|
čitano: 702.992
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
14 godina
neaktivan
offline
Re: C# - Problemi i rješenja
Friday kaže...
Connection string ne valja? Ajme, od kada to? Konkretno, kod glavnog klijenta mi nekih 50+ usera koristi aplikaciju na zajedničkom TS-u. Svi čitaju connection string iz zajedničkog XML fajla u kojem je taj isti string enkriptiran. Stvar funkcionira već jako dugo bez greške.

Prije cca 3 mjeseca sam završio integraciju sa Assecom u toj istoj banci (projekt od kojih godinu i pol dana, >10 milijuna kn vrijednost projekta). Tamo rade super pametni, obrazovani i vješti ljudi. I vidi vraga - koriste connection string za spajanje na bazu... (koristimo više baza na više servera za funkcioniranje sustava)

OK. Očito ne razumiješ kako stvar funkcionira. Kakvu god da ti enkripciju izmislio u konačnici taj connection string će se morati dekodirati u plain text da bi ga se moglo koristiti, a tada će ga preko stacka bilo tko moći pokupiti i doći do svih potrebnih podataka za pristup bazi: naziv (lokacija) servera, njegova instanca i port koji koristi, naziv baze, korisničko ime i lozinka za pristup. Ukratko, taj tko pokupi connection string će imati će prava koja ima i tvoja aplikacija. I tek ćeš tada vidjeti vraga jer si mu dao direktan pristup bazi. S druge strane, aplikacijska rola rješava sve te sigurnosne probleme. Evo, baš sam uspio pronaći primjer za C#.

 

http://www.codeproject.com/Articles/63894/Securing-Data-With-Application-Role

 

A možeš pogledati i ovaj video kojeg sam napravio za demonstraciju aplikacijske role u C++ Builderu (vrlo slično i za C#):

 

Eto ti prilike da nešto novo i korisno naučiš{#}

 

Friday kaže...
Ne podcjenjuj samouke programere - mi smo ti dosta opaka čeljad koja se ne uklapa u standardne kalupe i ne filozofiramo previše. Uzmemo i napravimo, dobro napravimo!

Nikoga ja ne podcjenjujem. Prvenstveno sam i ja počeo kao samouk programer pa zato i imam uvid kako to u pravilu funkcionira na toj strani bare. No opet, ja tu nisam odlučio stati već učiti i dalje.

 

Friday kaže...
Vidiš, to je razlika - ti misliš da moraš znati sve i da je apsolutno sve bitno bez iznimke. Mene boli neka stvar šta te linije rade. IDE ih je kreirao za mene - moje je da brinem o klijentovim potrebama.

Ne moram ja sve znati već tek eliminiram ono što ne moram znati. Drugim riječima, ako nije potrebno niti ne kreiram GUI aplikaciju pa me taj code niti ne zamara.

 

Friday kaže...

NHF, ali meni se čini da ti nisi baš puno funkcionirao "in the wild".

Ja sam dosta često u takvoj okolini no preferiram solo rad {#}. S druge strane, čak da i budem morao danas-sutra raditi u takvoj okolini ne vjerujem da bih imao nekih problema. Upoznaš se s projektom i uzmeš svoj dio posla.

 

EDIT:

I da, evo ti i video glede onog return 0 {#}

Kada lajavci laju onda završe ovako: http://i471.photobucket.com/albums/rr77/toropreto/2012-07-0813_30_07.gif
Poruka je uređivana zadnji put uto 4.2.2014 22:25 (TracerCPP).
17 godina
odjavljen
offline
Re: C# - Problemi i rješenja
TracerCPP kaže...
Friday kaže...
Connection string ne valja? Ajme, od kada to? Konkretno, kod glavnog klijenta mi nekih 50+ usera koristi aplikaciju na zajedničkom TS-u. Svi čitaju connection string iz zajedničkog XML fajla u kojem je taj isti string enkriptiran. Stvar funkcionira već jako dugo bez greške.

Prije cca 3 mjeseca sam završio integraciju sa Assecom u toj istoj banci (projekt od kojih godinu i pol dana, >10 milijuna kn vrijednost projekta). Tamo rade super pametni, obrazovani i vješti ljudi. I vidi vraga - koriste connection string za spajanje na bazu... (koristimo više baza na više servera za funkcioniranje sustava)

OK. Očito ne razumiješ kako stvar funkcionira. Kakvu god da ti enkripciju izmislio u konačnici taj connection string će se morati dekodirati u plain text da bi ga se moglo koristiti, a tada će ga preko stacka bilo tko moći pokupiti i doći do svih potrebnih podataka za pristup bazi: naziv (lokacija) servera, njegova instanca i port koji koristi, naziv baze, korisničko ime i lozinka za pristup. Ukratko, taj tko pokupi connection string će imati će prava koja ima i tvoja aplikacija. I tek ćeš tada vidjeti vraga jer si mu dao direktan pristup bazi. S druge strane, aplikacijska rola rješava sve te sigurnosne probleme. Evo, baš sam uspio pronaći primjer za C#.

 


 

 

 

Evo vidiš kako ne razumiješ. Radi se o banci. "Nazi" level sigurnosti se podrazumijeva. Na TS-u pod restricted accountima rade ljudi kojima je maksimalni domet znanja napraviti desni klik mišem na gridu da bi nešto filtrirali. Baza je njihova, podaci su njihovi, server je njihov a pristup serveru njihova odgovornost. Pa nek rasture što ih volja. Transaction log se backupira svakih 10 minuta i što god netko rasturio ja sredim za 15 minuta (point in time restore). A tablice su takve da ih ima sa preko 300 kolona. Rado bih nekome dao par sati pa da vidim da li bi išta skontao u takvoj strukturi. Svi smo gledali Hakere sa Angelinom, ali ovo je ipak stvarnost...

Ili ti ipak misliš da znaš bolje od 400+ programera koji to rade već 20 godina i koji su svoj sustav instalirali u nekoliko desetaka banaka u regiji za cifre od kojih ti se dlanovi oznoje?

To je ta razlika: knjige vs stvarnost...

Freak Show Inc.
14 godina
neaktivan
offline
Re: C# - Problemi i rješenja

Eh, kad bih i ja tako mogao reći da me boli briga za pristup bazi i da to nije moja odgovornost onda bi to možda bila druga priča. No programer je vrlo često i DB designer pa mora paziti i na ovakve stvari.

 

Kako god da bilo ne kanim ulaziti u vašu internu organizaciju posla i odgovornosti. To je sve na vama, a opet, za tebe bi svakako bilo zgodno da znaš i ovaj gore pristup ukoliko se pokaže potreba.

 

Kada lajavci laju onda završe ovako: http://i471.photobucket.com/albums/rr77/toropreto/2012-07-0813_30_07.gif
17 godina
odjavljen
offline
Re: C# - Problemi i rješenja
TracerCPP kaže...

Eh, kad bih i ja tako mogao reći da me boli briga za pristup bazi i da to nije moja odgovornost onda bi to možda bila druga priča. No programer je vrlo često i DB designer pa mora paziti i na ovakve stvari.

 

Kako god da bilo ne kanim ulaziti u vašu internu organizaciju posla i odgovornosti. To je sve na vama, a opet, za tebe bi svakako bilo zgodno da znaš i ovaj gore pristup ukoliko se pokaže potreba.

 

 

Ja sam UVIJEK i DB designer. Čak štoviše - u firmi sam DB guy i na mojim leđima su optimizacije query-ja, indeksi, maintenance planovi, integracijski procesi...

Ovo prije navedeno je primjer koji potvrđuje da connection string radi bez greške a generalno useri nemaju direktan pristup bazi nego se koristi WCF koji služi komunikaciji sa serverom (za koji useri ni ne znaju gdje je). Kažem ti, nismo mi samouki njubare {#}

Freak Show Inc.
16 godina
odjavljen
offline
C# - Problemi i rješenja

App role imaju smisla u aplikacijama gdje postoji mogućnost da bi se netko mogao sjetiti zaobići aplikaciju i "ručno" prtljati po bazi. U LANu, u uredskom okruženju sa 10 Štefica koje skeniraju dokumente i traže kontakt podatke, nema mi baš smisla. Dakle, sigurnost tu nije od nekog prioriteta (čak sam negdje bio i zločest pa query generiram StringBuilderom uz potpuno povjerenje u sadržaj txtboxa - SQLi welcome!) nego je prioritet brzina isporuke i da cijela stvar radi.

 

Naravno, kada postoji i najmanja mogućnost da bi netko išao raditi probleme, radit ću po PSu - app rola, stored procedure i parametarski queryi. I opet dolazimo do one ključne stvari - snalažljivost. Ako postoji mogućnost da bi netko mogao napraviti štetu na bazi, pobrinut ću se o sigurnosti - gore navedeno + AD ili koje već kerefeke, ako treba.

 

Vrtimo se u krug - Tracer o PSu i ostalome, ja i Friday o "do it quick and dirty, if you have to" principu. Tracerov kod će možda biti sigurniji i sa manje potencijalnih bugova ali moj i Petkov će raditi istu stvar. Glavno da je klijent zadovoljan. Druga stvar ako Štefica proba opaliti kakav malo bolji query jer onaj tamo txtbox izgleda totalno sumnjivo... Smijeh

 

[edit] - Friday, taj WCF je tamo jer...? Nešto drugo treba pristup osim te aplikacije?

http://nighthawk-software.blogspot.com/
Poruka je uređivana zadnji put uto 4.2.2014 22:49 (Sum_of_all_fears).
Moj PC  
0 0 hvala 0
14 godina
neaktivan
offline
Re: C# - Problemi i rješenja

Ma ne sumnjam ja da ste se vi već nekako osigurali. Štoviše, ako nemate odgovornost za bazu objavite connection string online pa da napravimo nekakav API da si svatko od kuće može raditi klijent aplikacije za provjeravanje stanja računa, kupnju auta na susjedov kredit itd {#}.

Kada lajavci laju onda završe ovako: http://i471.photobucket.com/albums/rr77/toropreto/2012-07-0813_30_07.gif
14 godina
neaktivan
offline
Re: C# - Problemi i rješenja
Sum_of_all_fears kaže...

App role imaju smisla u aplikacijama gdje postoji mogućnost da bi se netko mogao sjetiti zaobići aplikaciju i "ručno" prtljati po bazi. U LANu, u uredskom okruženju sa 10 Štefica koje skeniraju dokumente i traže kontakt podatke, nema mi baš smisla. Dakle, sigurnost tu nije od nekog prioriteta (čak sam negdje bio i zločest pa query generiram StringBuilderom uz potpuno povjerenje u sadržaj txtboxa - SQLi welcome!) nego je prioritet brzina isporuke i da cijela stvar radi.

U tome i jest najveća sreća što su to ipak koliko-toliko zatvoreni sustavi gdje su korisnici poprilično neuki i znaju se koristiti računalom tek toliko koliko im treba za rad. No opet, ako se radi o osjetljivim podacima bar iz moralnih razloga bih to napravio na najsigurniji način jer sama činjenica da netko možda može imati uvid u podatke u bazi je šteta (krađa podataka kojima možda inače nema pristup).

Kada lajavci laju onda završe ovako: http://i471.photobucket.com/albums/rr77/toropreto/2012-07-0813_30_07.gif
Poruka je uređivana zadnji put uto 4.2.2014 23:00 (TracerCPP).
17 godina
odjavljen
offline
Re: C# - Problemi i rješenja
Sum_of_all_fears kaže...

 

[edit] - Friday, taj WCF je tamo jer...? Nešto drugo treba pristup osim te aplikacije?

 

Ponekad. Ali generalno - aplikacija podatke dobije od WCF-a i preko istog tog WCF-a radi insert/update isključivo u okviru onoga što je omogućeno kroz WCF interface. SQL je "negdje" i potpuno je siguran.

Freak Show Inc.
16 godina
odjavljen
offline
Re: C# - Problemi i rješenja

Pa i poanta je u tome da ih vide. Riječ je o internoj bazi kontakata sa digitalnom arhivom i još ponekom sitnicom.

 

Ali, shvaćam što želiš reć. Iako su šanse da netko nešto vidi/obriše/izmijeni a da nije smio minimalne, svejedno osiguraj. Just in case. To je u ovom konkretnom slučaju zanemareno jer je aplikacija prošla par velikih izmjena (space shuttle u odnosu na originalno zamišljenu funkciju) pa se nije moglo puno "štrakati" po bazi i funkcijama oko baze.

 

Iduća velika revizija (sa novim, fancy WPF UIjem i dodatnim funkcijama) će imati poboljšanu sigurnost. Treba nekako dignut cijenu upgradea Smijeh

 

[edit] - Friday, zgodno. I usput ste si sredili da se praktički bilo što može nakačit po potrebi. Eh, ti priučeni programeri Smijeh

http://nighthawk-software.blogspot.com/
Poruka je uređivana zadnji put uto 4.2.2014 23:05 (Sum_of_all_fears).
17 godina
offline
C# - Problemi i rješenja

double twentieth = 0.2f;
            double one = 1.0f;

            Console.WriteLine("{0}", one - twentieth); // ispadne 0.799999999701 bla bla bla

            decimal onetwentieth = 0.2m;
            decimal realone = 1.0m;

            Console.WriteLine("{0}", realone - onetwentieth);  // ispadne normalno

 

Rečeno mi je da double i float radim za znanstvene izračune, a decimal da koristim za sve ostalo tipa financijske stvari gdje je jako bitno da bude točno....

 

 

Sad mene zanima par stvari. Radili smo da da se float inicijalizira 1.2f, double 1.2d, a decimal 1.2m

 

Moja pitanja su:

 

Zašto idu ta slova na kraju? f,d,m

 

I jedino kad na double stavim slovo f što nismo ni radili da tak ide dobim tu grešku. Zašto bi uopće na double stavljao slovo f ako ide d? Kad stavim na float slovo f nema greške, kad stavim na double slovo d također nema greške...

 

Rečeno mi je da se ista stvar događa i u C-u, i da je mikroprocesor kriv za to... Kako onda ja to u C-u ne mogu rekreirati nego uvijek dobijem točan izračun od 0.8??

 

Može tko malo pojasnit. Napominjem da znam osnove C programiranja i da sam krenuo učit C#... Znam da ovo zadire malo dublje u sve to ali jel može u neko pojednostavljeno objašnjenje? Ne volim kad mi netko kaže da je to tako, a ne zašto je to tako {#}

Poruka je uređivana zadnji put sri 5.2.2014 21:45 (lllnuclearlll).
Moj PC  
0 0 hvala 0
17 godina
offline
C# - Problemi i rješenja

Double ti je brojni tip koji ima veći kapacitet od floata, pa ti ne dozvoljava implicitnu konverziju većeg brojevog tipa u manju.

 

float a = 125.4 - ovo ne možeš

 

double b = 124.25f - ovo možeš jer implicitno ti je dozvoljena konverzija manjeg brojnog tipa u veći

 

a ovo su ti literali ili konstante, u ovom slučaju brojevi konstante

 

125.5   - double

124.5f - float

128.4m - decimal

 

Pretpostavljam da ti je sad jasno zašto ti ne dozvoljava implicitnu konverziju double u float, jer ti traži eksplicitnu potvrdu za slučaj da si se prevario, pa izgubio podatke.

 

ovako može

float a = (float)125.4

sad je jasno da se nisi prevario, eksplicitno si tražio pretvorbu

Poruka je uređivana zadnji put sri 5.2.2014 22:51 (Floki).
 
1 0 hvala 1
17 godina
offline
C# - Problemi i rješenja

Ma radim preko nekog tutoriala s Interneta. Uglavnom bilo mi je čudno zbog te pogreške koja se dešava jer se u C-u nisam susreo s tim još i koristio sam double i float tipove podataka za sve vrste izračuna (pošto decimal ni ne postoji). I onda mi ovaj veli za C# da dolazi do greške i da koristim decimal koji je 10x sporiji.

 

Koliko sam shvatio do greške znači dolazi ako se tip podataka konvertira u drugi?

Poruka je uređivana zadnji put sri 5.2.2014 22:32 (lllnuclearlll).
Moj PC  
0 0 hvala 0
17 godina
offline
Re: C# - Problemi i rješenja
lllnuclearlll kaže...

Ma radim preko nekog tutoriala s Interneta. Uglavnom bilo mi je čudno zbog te pogreške koja se dešava jer se u C-u nisam susreo s tim još i koristio sam double i float tipove podataka za sve vrste izračuna (pošto decimal ni ne postoji). I onda mi ovaj veli za C# da dolazi do greške i da koristim decimal koji je 10x sporiji.

 

Koliko sam shvatio do greške znači dolazi ako se tip podataka konvertira u drugi?

Samo ako veći tip pretvaraš u manji, jer veći tip može sadržavati veći broj nego što manji tip može primiti, pa se kod pretvaranja dio broja može izgubiti. Tim te compiler štiti od toga da greškom ne izgubiš podatke.

Eksplicitno možeš izvršiti pretvorbu, što sam gore objasnio.

 

double a = 125.5f

 

ti ovdje ne vršiš samo pridruživanje varijabli a broja 125.5f, nego vršiš i implicitnu pretvorbu float broja u double, a pošto je float manji od double, ovo možeš napraviti.

 

Ne znam koji si IDE koristio kod C/C++ , inače ovaj isti VS kod implicitnog pretvaranja većeg brojnog opsega u manji za C++ koristi upozorenje, a za C# grešku.

Poruka je uređivana zadnji put sri 5.2.2014 23:04 (Floki).
17 godina
offline
Re: C# - Problemi i rješenja
Floki kaže...

 

Ne znam koji si IDE koristio kod C/C++ , inače ovaj isti VS za C++ koristi upozorenje, a kod C# grešku.

Dev C++

17 godina
offline
Re: C# - Problemi i rješenja
Floki kaže...

 

double a = 125.5f

 

ti ovdje ne vršiš samo pridruživanje varijabli a broja 125.5f, nego vršiš i implicitnu pretvorbu float broja u double, a pošto je float manji od double, ovo možeš napraviti.

 

Da, ali baš kod ovog dolazi do te greške, a pretvaram manju varijablu u veću koju ona "može" primiti, zar ne?

 

 double twentieth = 0.2f;
 double one = 1.0f;

            Console.WriteLine("{0}", one - twentieth);  //ovo ne ispadne 0.8 nego 0.79999999999912312 tako nešto...

Poruka je uređivana zadnji put čet 6.2.2014 10:41 (lllnuclearlll).
17 godina
offline
Re: C# - Problemi i rješenja
lllnuclearlll kaže...
Floki kaže...

 

double a = 125.5f

 

ti ovdje ne vršiš samo pridruživanje varijabli a broja 125.5f, nego vršiš i implicitnu pretvorbu float broja u double, a pošto je float manji od double, ovo možeš napraviti.

 

Da, ali baš kod ovog dolazi do te greške, a pretvaram manju varijablu u veću koju ona "može" primiti, zar ne?

 

 double twentieth = 0.2f;
 double one = 1.0f;

            Console.WriteLine("{0}", one - twentieth);  //ovo ne ispadne 0.8 nego 0.79999999999912312 tako nešto...

To nije greška.

Float ima preciznost 7-9 decimanih mjesta, a double 15-17. Kad si konvertirao float u double nije definirana preeciznost preostalih 8 mjesta koje double definira a float ne, pa stroj napravi kako mu drago.

Sad ti je jasano zašto postoji decimal, kod financija se ne smije dogoditi problem zbrajanja velikih brojeva sa malim.

Za drugo koristi double, ne koristi uopće float, nije bez veze double literal moguće pisati bez oznake d i nije bez veze defaultni.

Ovaj problem itekako postoji i u C/C++, nije da ga nema, osim što je manje vidljiv i compiler dopušta više.

Poruka je uređivana zadnji put čet 6.2.2014 14:43 (Floki).
16 godina
offline
C# - Problemi i rješenja

imam panel na formi na kojemu nacrtam nešto, recimo običnu sinusoidu. kako da ona mijenja veličinu zajedno sa mijenjanjem veličine forme na kojoj se nalazi? pretpostavljam da se kod svakog resize-anja treba ponovo iscrtavat, samo mi to nikako ne uspjeva

Atomska bubamara | edomovina.blog.hr
 
0 0 hvala 0
14 godina
neaktivan
offline
Re: C# - Problemi i rješenja
jurluk kaže...

imam panel na formi na kojemu nacrtam nešto, recimo običnu sinusoidu. kako da ona mijenja veličinu zajedno sa mijenjanjem veličine forme na kojoj se nalazi? pretpostavljam da se kod svakog resize-anja treba ponovo iscrtavat, samo mi to nikako ne uspjeva

Jesi pokušao podesiti Anchor na tom panelu tako da obuhvaća Bottom i Right?

Kada lajavci laju onda završe ovako: http://i471.photobucket.com/albums/rr77/toropreto/2012-07-0813_30_07.gif
16 godina
offline
Re: C# - Problemi i rješenja

je, je, dobro je to

 

nego problem je negdje ili u resize ili paint eventu. jer imam funkciju preko koje sam rijesio crtanje. kad ja nju zapravo trebam pozivat? isprobavao sam razne kombinacije, nekad iscrtava samo kad maksimiziran formu, nekad kad je odmaksimiziram. ne radi mi brisanje. kako da uopce obrisem sve prije ponovnog crtanja? kad trebam pozvat panel.invalidate()?

Atomska bubamara | edomovina.blog.hr
13 godina
neaktivan
offline
Re: C# - Problemi i rješenja
16 godina
offline
Re: C# - Problemi i rješenja

ma nije anchor. panel mijenja veličinu sa formom, ali nacrtani graf se ne mijenja, on ostaje kako je prvotno nacrtan

 

u teoriji bi trebalo da se kod svakog iscrtavanja forme ponovo taj graf iscrtava. stavio sam i ResizeRedraw na true za formu i sve je ok, samo mi ne radi brisanje. prije svakog ponovnog crtanja trebam prvo sve obrisat. jer inace dobijem ovo

Atomska bubamara | edomovina.blog.hr
17 godina
odjavljen
offline
Re: C# - Problemi i rješenja
jurluk kaže...

ma nije anchor. panel mijenja veličinu sa formom, ali nacrtani graf se ne mijenja, on ostaje kako je prvotno nacrtan

 

u teoriji bi trebalo da se kod svakog iscrtavanja forme ponovo taj graf iscrtava. stavio sam i ResizeRedraw na true za formu i sve je ok, samo mi ne radi brisanje. prije svakog ponovnog crtanja trebam prvo sve obrisat. jer inace dobijem ovo

Izgleda super, ostavi tako {#}

Freak Show Inc.
14 godina
offline
C# - Problemi i rješenja

Kako prikazati vrijednost (bool - true ili false) varijable u listboxu, na način da je ona prikazana kao checkbox?

Znači samo mi je prikaz bitan. List box je readonly, ništ se ne mijenja na njemu.

 

Hvala

[URL="http://goo.gl/KpG4TT"]ANKETA[/URL] o kineskim mobitelima i [URL="http://goo.gl/xLCF5F"]REZULTATI[/URL] ankete
 
0 0 hvala 0
16 godina
odjavljen
offline
Re: C# - Problemi i rješenja

ImašCheckedListBox. Postavljaš ih kao npr. ckhd_listBox.Items[0].SetItemCheckState (nisam siguran, provjeri).

http://nighthawk-software.blogspot.com/
14 godina
offline
Re: C# - Problemi i rješenja

Hvala, riješio sam to ovako, pošto imam i drugih tipova podatakau listboxu:

           <GridViewColumn Header="Drugo" Width="40">

             <GridViewColumn.CellTemplate>

               <DataTemplate>

                 <CheckBox Margin="5,-5" IsChecked="{Binding ZgrOstalo}" IsEnabled="False"   />

               </DataTemplate>

             </GridViewColumn.CellTemplate>

           </GridViewColumn>

 

Sad imam jedno drugo pitanjce, tiče se sortiranja listboxa:

Našao sam da se to radi ovako (sortiranje prema datumu)

_dataListView.Items.SortDescriptions.Add(new System.ComponentModel.SortDescription("Datum", System.ComponentModel.ListSortDirection.Descending));

E sad, dotično mi radi samo jednom, konkretno imam 2 buttona, jedan radi Descending sort:

_dataListView.Items.SortDescriptions.Add(new System.ComponentModel.SortDescription("Datum", System.ComponentModel.ListSortDirection.Descending));

a drugi Ascending:

_dataListView.Items.SortDescriptions.Add(new System.ComponentModel.SortDescription("Datum", System.ComponentModel.ListSortDirection.Ascending));

 

Ali problem je u tome što mi radi samo onaj button  koji prvi stisnem???

ako prvo stisnem za descending on sortira OK, ako nakon toga stisnem ascending niš se ne događa.

a ako prvo stisnem ascending isto sortira ascending a ako nakon toga stisnem descending niš se ne događa??

 

hvala

[URL=&quot;http://goo.gl/KpG4TT&quot;]ANKETA[/URL] o kineskim mobitelima i [URL=&quot;http://goo.gl/xLCF5F&quot;]REZULTATI[/URL] ankete
15 godina
offline
Re: C# - Problemi i rješenja

Probaj ovako u kodu, imas jednu metodu samo i za asc i desc sort.

Mozes ju pozvati iz ViewModel-a, ali mislim da bi ti radila ako zoves i iz eventhandlera 

 

     private void SortView(object parameter)

     {

 

       string propertyName = parameter as string;

       ICollectionView view = CollectionViewSource.GetDefaultView(OVDJE STAVI INSTANCU BINDINANIH ITEMA (neki IEnumerable<T>);

 

       if (view != null)

       {

         view.SortDescriptions.Clear();

 

         if (view.SortDescriptions.Count > 0 && view.SortDescriptions[0].PropertyName == propertyName && view.SortDescriptions[0].Direction == ListSortDirection.Ascending)

           view.SortDescriptions.Add(new SortDescription(propertyName, ListSortDirection.Descending));

         else

           view.SortDescriptions.Add(new SortDescription(propertyName, ListSortDirection.Ascending));

 

       }

16 godina
neaktivan
offline
Re: C# - Problemi i rješenja
Pozz,
početnik sam u c# i zanima me kako napraviti prijelaz s jedne forme na drugu?
Želim da prilikom klika na button primjeni se izgled prozora (micanje svih textboxova, labela...) na novi izgled (nove labele, textboxovi itd.)?
15 godina
neaktivan
offline
Re: C# - Problemi i rješenja
pod009 kaže...
Pozz,
početnik sam u c# i zanima me kako napraviti prijelaz s jedne forme na drugu?
Želim da prilikom klika na button primjeni se izgled prozora (micanje svih textboxova, labela...) na novi izgled (nove labele, textboxovi itd.)?

ne razumijem ovaj drugi zahtjev ali ako hoćeš otvoriti novu formu je ovo:

 

Form2 f2=new Form2();

f2.Show();

 

Ukoliko želiš da ti se prijašnja forma sakrije

 

samo staviš this.hide;

13 godina
neaktivan
offline
Re: C# - Problemi i rješenja
pod009 kaže...
Pozz,
početnik sam u c# i zanima me kako napraviti prijelaz s jedne forme na drugu?
Želim da prilikom klika na button primjeni se izgled prozora (micanje svih textboxova, labela...) na novi izgled (nove labele, textboxovi itd.)?

Prikazivanje druge forme je kolega gore objasnio, znači i forma je klasa, instanciraš tu klasu i na taj objekat pozoveš metod Show, tj.

FromNeka frm = new FormNeka();

frm.Show();

 

E sad, ukoliko želiš da zatvoriš prethodnu, ako samo staviš this.Close(), ugasit će obje forme. Ako staviš ovo što je kolega iznad postavio, stara forma će biti samo skrivena, čak i kad se ova druga forma ugasi.

E to sad se može riješiti tako da, nakon što pozoveš hide metodu na staroj formi, na formi koju si pozvao handlaš event FormClosed, tj.

frm.FormClosed += (param, args) => this.Close();

Evo kôd,

 

FromNeka frm = new FormNeka();

frm.Show();

this.Hide();

frm.FormClosed += (param, args) => this.Close();

16 godina
odjavljen
offline
C# - Problemi i rješenja

Ja mislim da je on ciljao na UserControl. Dakle, na klik na button na formi da se loada druga user kontrola...

http://nighthawk-software.blogspot.com/
Moj PC  
0 0 hvala 1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice