Re: Zjisteni pracovnich dnu mezi 2 dny
Vzoreček nemám, akorát, asi je to zbytečné vyrypování, ale někdy se svátky trefí do neděle/soboty, tak na to bacha. :-) D. Kolář Ladislav Starý wrote: Diky. Zatim jsem to udelal tak, ze jsem si zjistil prvni pondeli po zacatku obdobi a posledni pondeli pred koncem obdobi. Tim jsem zjistil pocet celych tydnu. S neuplnymi tydny jsem si nejak elegantne neporadil. Taky me nakonec napadlo, ze nejjednodussi bude zjistit svatky v obdobi a ty pak odecist od zjistenych pracovnich dnu. Mohl bych poprosit o ten vzorecek? Ladislav Stary Zjistit pocet pondeli-patku jde jeste vzoreckem. A pak musite mit nekde databazi svatbku a odecist, to co lezi mezi. Protoze pocet svatku se meni v case (napr. velikonoce, pridavaji se svatky nove, ).
Re: Zjisteni pracovnich dnu mezi 2 dny
Jasne, se svatky v sobotu a nedeli pocitam. Ladislav Stary Dusan Kolar napsal(a): Vzoreček nemám, akorát, asi je to zbytečné vyrypování, ale někdy se svátky trefí do neděle/soboty, tak na to bacha. :-) D. Kolář
Re: Zjisteni pracovnich dnu mezi 2 dny
Zdravim, kouknul jsme se do googlu a nasel jsem tam jedno reseni v .NET. Myslim, ze bych sel touto cestou. Sice to nebude nic zariveho, ale asi to bude jistota. Uvedu zde onen kod: *** CREATE function swsAdmin.fn_WorkingDays ( @FromDate datetime, @ToDate datetime ) RETURNS int with encryption as begin if(@FromDate @ToDate) return 0 Declare @WorkingDays int Set @WorkingDays = 0 while(@FromDate = @ToDate) begin -- do not count SA SU if@@datefirst + datepart(weekday, @FromDate) - 2) % 7) + 1) 6) begin Set @WorkingDays = @WorkingDays + 1 end -- add one day Set @FromDate = @FromDate + 1 end return @WorkingDays end Osobne bych jeste pridelal funkci, ktera by na argument typu Date(nebo Calendar ... dle gusta) vracela, zda je pracovni ci ne. A nekde asi udrzovat tabulku svatku Lukas Barton napsal(a): Ladislav Starý napsal(a): Zdravim, nez zacnu vymyslet nejaky algoritmus, chtel bych se zeptat, jestli se da nejakym elegantnim zpusobem zjistit pocet pracovnich dnu mezi dvema kalendarnimi dny. Pocet kalendarnich dnu jsem dokazal zjistit pomoci rozdilu milisekund, ale jak to udelat s kalendarnimi dny, to me zatim nenapada. Zatim jsem uvazoval, ze bych postupne prochazel vsechny kalendarni dny v tom intervalu a testoval, jestli je pracovni nebo ne. Prijde mi ale hodne pomaly. Navic jeste budu muset resit statni svatky. Zjistit pocet pondeli-patku jde jeste vzoreckem. A pak musite mit nekde databazi svatbku a odecist, to co lezi mezi. Protoze pocet svatku se meni v case (napr. velikonoce, pridavaji se svatky nove, ). Lukas
Re: Zjisteni pracovnich dnu mezi 2 dny
Osobne by som asi skusil cyklus, kde do java.util.Calendar nastavite pociatocny den, posuvate sa po jednom dni (Calendar.add()) a pre kazdy den zistite: 1) ci nie je sobota alebo nedela (Calendar.get(DAY_OF_WEEK)) 2) ak 1) je nie, tak overite v DB sviatkov, ci nie je sviatok ak 1) aj 2) su odpoved NIE, tak si zvysite nejaku premennu... Tommy Diky. Zatim jsem to udelal tak, ze jsem si zjistil prvni pondeli po zacatku obdobi a posledni pondeli pred koncem obdobi. Tim jsem zjistil pocet celych tydnu. S neuplnymi tydny jsem si nejak elegantne neporadil. Taky me nakonec napadlo, ze nejjednodussi bude zjistit svatky v obdobi a ty pak odecist od zjistenych pracovnich dnu. Mohl bych poprosit o ten vzorecek? Ladislav Stary Zjistit pocet pondeli-patku jde jeste vzoreckem. A pak musite mit nekde databazi svatbku a odecist, to co lezi mezi. Protoze pocet svatku se meni v case (napr. velikonoce, pridavaji se svatky nove, ).
Re: Zjisteni pracovnich dnu mezi 2 dny
Matej Babjak napsal(a): Osobne by som asi skusil cyklus, kde do java.util.Calendar nastavite pociatocny den, posuvate sa po jednom dni (Calendar.add()) a pre kazdy den zistite: 1) ci nie je sobota alebo nedela (Calendar.get(DAY_OF_WEEK)) 2) ak 1) je nie, tak overite v DB sviatkov, ci nie je sviatok Tady bych se priklanel za to, udelat na zacatku jeden dotaz, kde vytahnete vsechny svatky mezi napr. do Map. Je nesmysl delat query pro kazdy pracovni den ;-) Lukas
Re: Zjisteni pracovnich dnu mezi 2 dny
Lukas Barton wrote / napísal(a): Matej Babjak napsal(a): Osobne by som asi skusil cyklus, kde do java.util.Calendar nastavite pociatocny den, posuvate sa po jednom dni (Calendar.add()) a pre kazdy den zistite: 1) ci nie je sobota alebo nedela (Calendar.get(DAY_OF_WEEK)) 2) ak 1) je nie, tak overite v DB sviatkov, ci nie je sviatok Tady bych se priklanel za to, udelat na zacatku jeden dotaz, kde vytahnete vsechny svatky mezi napr. do Map. Je nesmysl delat query pro kazdy pracovni den ;-) Lukas Jasna vec. Pripadne by sa dala cela logika aj s overovanim soboty/nedele napchat rovno do jednej PL/SQL procedury, ale to uz zalezi na pouzivanej DB...
Re: Zjisteni pracovnich dnu mezi 2 dny
Asi se mnou nebude spousta lidí souhlasit ale úplně nejjednodušší je mít (pokud tedy jde o aplikaci s přístupem k databázi) mít někde tabulku datumů řekněme takovéto struktury datum datetime (PK) den tinyint (1-31) tyden tinyint (0-53) mesic tinyint (1-12) den_v_tydnu tinyint (1-7) svatek tinyint (1 -Ano, 0- ne) A pokud někdo potřebuje třeba ještě dekády, kvartály apod. Na plnění této tabulky si napsat proceduru, která to vygeneruje třeba na 10 let dopředu, Mít třeba pomocnou tabulku svátku, kterou ta procedura či trigger vezme v potaz. A pak to můžete do aplikace zjiˇšťovat jednoduchými selecty. V palikaci pak nemusíte řešit jestli je den_v tydnu 1 neděle, nebo pondělí. Jediné místo (a to opravdu jedinné), kde to budete řešit je ona plnicí procedura(trigger) Ta tabulka v DB moc místa nezabere, a funguuje to podle mě nejlépe. Radek Žuja PS: ty datové typy tinyint jsou se sybase. Je to jení nejmenší datový typ. Jde v podstatě o Byte. Zdravim, kouknul jsme se do googlu a nasel jsem tam jedno reseni v .NET. Myslim, ze bych sel touto cestou. Sice to nebude nic zariveho, ale asi to bude jistota. Uvedu zde onen kod: *** CREATE function swsAdmin.fn_WorkingDays ( @FromDate datetime, @ToDate datetime ) RETURNS int with encryption as begin if(@FromDate @ToDate) return 0 Declare @WorkingDays int Set @WorkingDays = 0 while(@FromDate = @ToDate) begin -- do not count SA SU if@@datefirst + datepart(weekday, @FromDate) - 2) % 7) + 1) 6) begin Set @WorkingDays = @WorkingDays + 1 end -- add one day Set @FromDate = @FromDate + 1 end return @WorkingDays end Osobne bych jeste pridelal funkci, ktera by na argument typu Date(nebo Calendar ... dle gusta) vracela, zda je pracovni ci ne. A nekde asi udrzovat tabulku svatku Lukas Barton napsal(a): Ladislav Starý napsal(a): Zdravim, nez zacnu vymyslet nejaky algoritmus, chtel bych se zeptat, jestli se da nejakym elegantnim zpusobem zjistit pocet pracovnich dnu mezi dvema kalendarnimi dny. Pocet kalendarnich dnu jsem dokazal zjistit pomoci rozdilu milisekund, ale jak to udelat s kalendarnimi dny, to me zatim nenapada. Zatim jsem uvazoval, ze bych postupne prochazel vsechny kalendarni dny v tom intervalu a testoval, jestli je pracovni nebo ne. Prijde mi ale hodne pomaly. Navic jeste budu muset resit statni svatky. Zjistit pocet pondeli-patku jde jeste vzoreckem. A pak musite mit nekde databazi svatbku a odecist, to co lezi mezi. Protoze pocet svatku se meni v case (napr. velikonoce, pridavaji se svatky nove, ). Lukas
BiDi
Ahojte, nemate nekdo zkusenosti s implementaci BiDi algoritmu? Potreboval bych nejakou metodu [String applyBiDi(String)], ktere predhodim arabsky/farsi text a zpatky dostanu stejny text, ale s tim, ze cisla a nearabska slova budou napsana reverzne. Dival jsem se na java.text.BiDi, ale netusim, jak bych to v mem pripade mohl pouzit. Predem diky za tipy. -- pepa cacek
Re: Zjisteni pracovnich dnu mezi 2 dny
Tady je nastin reseni, psal jsem to ted narychlo, tak doufam, ze tam neni nejaka vyrazna chyba. -- pepa cacek import java.util.Calendar; public class Test { static final long ONE_HOUR = 60 * 60 * 1000L; public static long daysBetween(final Calendar c1, final Calendar c2) { if (c1.after(c2)) { throw new IllegalArgumentException(Date order wrong.); } return ((c2.getTimeInMillis() - c1.getTimeInMillis() + ONE_HOUR) / (ONE_HOUR * 24)) + 1L; } public static void main(String args[]) { Calendar cal1 = Calendar.getInstance(); Calendar cal2 = Calendar.getInstance(); cal1.set(2007, 6, 21, 0, 0, 0); cal2.set(2007, 7, 5, 0, 0, 0); int daysBetween = (int) daysBetween(cal1, cal2); System.out.println(Days between: + daysBetween); // pozice prvniho data v ramci tydne, pondeli=0 int firstPos = (cal1.get(Calendar.DAY_OF_WEEK) + 5) % 7; int offset = daysBetween % 7; int weekendDays = (daysBetween/7)*2; if (offset0) { if (firstPos==5 offset1) { //zacatek v sobotu weekendDays += 2; } else if (firstPos==6 || offset + firstPos == 6) { // jen sobota nebo jen nedele weekendDays++; } else if (offset + firstPos 6) { // cely vikend v rozdilu weekendDays += 2; } } System.out.println(Weekend days: + weekendDays); int holidays = 0; //tady dodelat select do databaze, neco jako: // SELECT count(*) from SVATKY where datum between ? and ? and DayOfWeek(datum) not between 6 and 7 System.out.println(Workdays between: + (daysBetween - weekendDays - holidays)); } } On 7/24/07, Ladislav Starý [EMAIL PROTECTED] wrote: Zdravim, nez zacnu vymyslet nejaky algoritmus, chtel bych se zeptat, jestli se da nejakym elegantnim zpusobem zjistit pocet pracovnich dnu mezi dvema kalendarnimi dny. Pocet kalendarnich dnu jsem dokazal zjistit pomoci rozdilu milisekund, ale jak to udelat s kalendarnimi dny, to me zatim nenapada. Zatim jsem uvazoval, ze bych postupne prochazel vsechny kalendarni dny v tom intervalu a testoval, jestli je pracovni nebo ne. Prijde mi ale hodne pomaly. Navic jeste budu muset resit statni svatky. Ladislav Stary
RE: Zjisteni pracovnich dnu mezi 2 dny
No, osobně jsem to už několikrát (asi 2x :-)) řešil, a místo db jsem použil jako zdroj svátků ResourceBundle -- a bylo to automaticky i s řešením pro jiné locale. Nastavení se pak dělo v textovém souboru, což zvládala i průměrná sekretářka, a fungovalo to. Ovšem v případě, že už podobná tabulka existuje a někdo ji obhospodařuje aby zůstávala aktuální je řešení s přístupem do db lepší. Jiná otázka je, že podpora pro podobné kalendářové výpočty v javě je pořád nízká, většina z nás musí opakovaně řešit stále tytéž problémy. Divím se že do JDK už dávno nedali nějaké CalendarUtils ... nemáte tušení proč? Problémy s jiným než gregoriánským kalendářem? Nebo to už existuje a jenom o tom nevím? Nebo na ně nikdo neapeluje? Mirek From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Ing. Jan Novotný Sent: Wednesday, July 25, 2007 9:17 AM To: Java Subject: Re: Zjisteni pracovnich dnu mezi 2 dny Je to takové nehezké řešení (kéž by Java měla pro toto nějakou podporu), ale co jsem se zatím setkal (celkem asi 3 případy v mé praxi) - vždycky se to řešilo takto. Typicky už měl náš zákazník podobnou tabulku už připravenou pro jiné aplikace, takže jsme se jen napojili na existující data. Výhodou tohoto řešení navíc je, že si zákazník obhospodařuje dny volna sám, a když vyhlásí celozávodku není nic jednoduššího než přidat pár záznamů do podobné tabulky. Má to pod kontrolou a všechny jeho interní aplikace (pokud z této tabulky čerpají - jako že na tom zákazník vždy trval) se novému nastavení jednoduše přizpůsobí. Honza N. 25.7.07, Ing. Radek Žuja [EMAIL PROTECTED]: Asi se mnou nebude spousta lidí souhlasit ale úplně nejjednodušší je mít (pokud tedy jde o aplikaci s přístupem k databázi) mít někde tabulku datumů řekněme takovéto struktury datum datetime (PK) den tinyint (1-31) tyden tinyint (0-53) mesic tinyint (1-12) den_v_tydnu tinyint (1-7) svatek tinyint (1 -Ano, 0- ne) A pokud někdo potřebuje třeba ještě dekády, kvartály apod. Na plnění této tabulky si napsat proceduru, která to vygeneruje třeba na 10 let dopředu, Mít třeba pomocnou tabulku svátku, kterou ta procedura či trigger vezme v potaz. A pak to můžete do aplikace zjiˇšťovat jednoduchými selecty. V palikaci pak nemusíte řešit jestli je den_v tydnu 1 neděle, nebo pondělí. Jediné místo (a to opravdu jedinné), kde to budete řešit je ona plnicí procedura(trigger) Ta tabulka v DB moc místa nezabere, a funguuje to podle mě nejlépe. Radek Žuja PS: ty datové typy tinyint jsou se sybase. Je to jení nejmenší datový typ. Jde v podstatě o Byte. Zdravim, kouknul jsme se do googlu a nasel jsem tam jedno reseni v .NET. Myslim, ze bych sel touto cestou. Sice to nebude nic zariveho, ale asi to bude jistota. Uvedu zde onen kod: *** CREATE function swsAdmin.fn_WorkingDays ( @FromDate datetime, @ToDate datetime ) RETURNS int with encryption as begin if(@FromDate @ToDate) return 0 Declare @WorkingDays int Set @WorkingDays = 0 while(@FromDate = @ToDate) begin -- do not count SA SU if@@datefirst + datepart(weekday, @FromDate) - 2) % 7) + 1) 6) begin Set @WorkingDays = @WorkingDays + 1 end -- add one day Set @FromDate = @FromDate + 1 end return @WorkingDays end Osobne bych jeste pridelal funkci, ktera by na argument typu Date(nebo Calendar ... dle gusta) vracela, zda je pracovni ci ne. A nekde asi udrzovat tabulku svatku Lukas Barton napsal(a): Ladislav Starý napsal(a): Zdravim, nez zacnu vymyslet nejaky algoritmus, chtel bych se zeptat, jestli se da nejakym elegantnim zpusobem zjistit pocet pracovnich dnu mezi dvema kalendarnimi dny. Pocet kalendarnich dnu jsem dokazal zjistit pomoci rozdilu milisekund, ale jak to udelat s kalendarnimi dny, to me zatim nenapada. Zatim jsem uvazoval, ze bych postupne prochazel vsechny kalendarni dny v tom intervalu a testoval, jestli je pracovni nebo ne. Prijde mi ale hodne pomaly. Navic jeste budu muset resit statni svatky. Zjistit pocet pondeli-patku jde jeste vzoreckem. A pak musite mit
setovani boolean hodnoty (zatrzitka) v javax.swing.JTable
Ahojte, pouzivam netbeans a pripravil jsem si javax.swing.JTable pro zobrazeni aktualniho stavu komunikace a zaroven take pro zatrzeni se kterym zarizenim chcete komunikovat. Jenom se mi nejak nedari prijit na to, aby kdyz si vytvarim vlastni tabulku rucne zobrazoval JTable zatrzitko. V nahledu ho mam. Ale pak tam skoci true misto ctverecku pro zatrzitko. Poradite prosim nekdo? Pet -- Rekl bych, ze problem je v tom, ze jsi neprekryl bud vubec nebo ne spravne editor. Tj. mas sice prekrytej renderer ale chtelo by to napsat editor, kterej bude vracet komponentu JCheckBox a tu nastavi. Zatim PetrR
RE: Zjisteni pracovnich dnu mezi 2 dny
http://objectlabkit.sourceforge.net/ -Original Message- From: [EMAIL PROTECTED] on behalf of Stöhr Miroslav RNDr. Ph.D. Sent: Wed 25.7.2007 11:30 To: Java Subject: RE: Zjisteni pracovnich dnu mezi 2 dny No, osobne jsem to uz nekolikrát (asi 2x :-)) resil, a místo db jsem pouzil jako zdroj svátku ResourceBundle -- a bylo to automaticky i s resením pro jiné locale. Nastavení se pak delo v textovém souboru, coz zvládala i prumerná sekretárka, a fungovalo to. Ovsem v prípade, ze uz podobná tabulka existuje a nekdo ji obhospodaruje aby zustávala aktuální je resení s prístupem do db lepsí. Jiná otázka je, ze podpora pro podobné kalendárové výpocty v jave je porád nízká, vetsina z nás musí opakovane resit stále tytéz problémy. Divím se ze do JDK uz dávno nedali nejaké CalendarUtils ... nemáte tusení proc? Problémy s jiným nez gregoriánským kalendárem? Nebo to uz existuje a jenom o tom nevím? Nebo na ne nikdo neapeluje? Mirek From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Ing. Jan Novotný Sent: Wednesday, July 25, 2007 9:17 AM To: Java Subject: Re: Zjisteni pracovnich dnu mezi 2 dny Je to takové nehezké resení (kéz by Java mela pro toto nejakou podporu), ale co jsem se zatím setkal (celkem asi 3 prípady v mé praxi) - vzdycky se to resilo takto. Typicky uz mel nás zákazník podobnou tabulku uz pripravenou pro jiné aplikace, takze jsme se jen napojili na existující data. Výhodou tohoto resení navíc je, ze si zákazník obhospodaruje dny volna sám, a kdyz vyhlásí celozávodku není nic jednodussího nez pridat pár záznamu do podobné tabulky. Má to pod kontrolou a vsechny jeho interní aplikace (pokud z této tabulky cerpají - jako ze na tom zákazník vzdy trval) se novému nastavení jednoduse prizpusobí. Honza N. 25.7.07, Ing. Radek Zuja [EMAIL PROTECTED]: Asi se mnou nebude spousta lidí souhlasit ale úplne nejjednodussí je mít (pokud tedy jde o aplikaci s prístupem k databázi) mít nekde tabulku datumu rekneme takovéto struktury datum datetime (PK) den tinyint (1-31) tyden tinyint (0-53) mesic tinyint (1-12) den_v_tydnu tinyint (1-7) svatek tinyint (1 -Ano, 0- ne) A pokud nekdo potrebuje treba jeste dekády, kvartály apod. Na plnení této tabulky si napsat proceduru, která to vygeneruje treba na 10 let dopredu, Mít treba pomocnou tabulku svátku, kterou ta procedura ci trigger vezme v potaz. A pak to muzete do aplikace zji?stovat jednoduchými selecty. V palikaci pak nemusíte resit jestli je den_v tydnu 1 nedele, nebo pondelí. Jediné místo (a to opravdu jedinné), kde to budete resit je ona plnicí procedura(trigger) Ta tabulka v DB moc místa nezabere, a funguuje to podle me nejlépe. Radek Zuja PS: ty datové typy tinyint jsou se sybase. Je to jení nejmensí datový typ. Jde v podstate o Byte. Zdravim, kouknul jsme se do googlu a nasel jsem tam jedno reseni v .NET. Myslim, ze bych sel touto cestou. Sice to nebude nic zariveho, ale asi to bude jistota. Uvedu zde onen kod: *** CREATE function swsAdmin.fn_WorkingDays ( @FromDate datetime, @ToDate datetime ) RETURNS int with encryption as begin if(@FromDate @ToDate) return 0 Declare @WorkingDays int Set @WorkingDays = 0 while(@FromDate = @ToDate) begin -- do not count SA SU if@@datefirst + datepart(weekday, @FromDate) - 2) % 7) + 1) 6) begin Set @WorkingDays = @WorkingDays + 1 end -- add one day Set @FromDate = @FromDate + 1 end return @WorkingDays end Osobne bych jeste pridelal funkci, ktera by na argument typu Date(nebo Calendar ... dle gusta) vracela, zda je pracovni ci ne. A nekde asi udrzovat tabulku svatku Lukas Barton napsal(a): Ladislav Starý napsal(a): Zdravim, nez zacnu vymyslet nejaky algoritmus, chtel bych se zeptat, jestli se da nejakym elegantnim zpusobem zjistit pocet pracovnich dnu mezi dvema kalendarnimi dny. Pocet kalendarnich dnu jsem dokazal zjistit pomoci rozdilu milisekund, ale jak to udelat s kalendarnimi dny, to me zatim nenapada. Zatim jsem uvazoval, ze bych postupne prochazel vsechny kalendarni dny v tom intervalu a testoval, jestli je pracovni nebo ne.
Re: servlety a jsp/jstl tagy
Ahoj, myslim ze by mohlo fungovat request.getRequestDispatcher(url).include(request, response) tester tester wrote / napísal(a): Hoj, mam taku otazku, v ramci jedneho projektu potrebujem vybavit poziadavku klienta priamo v servlete (servlet mi generuje obsah) a kedze zbytok aplikacie pozuva jsp/jstl chcel som pouzit template z existujucich casti. Problem (samozrejme) nastava vo chvili ked sa maju realizovat tagy jsp/jstl pretoze servlet ich nema ako spracovat. Skusal som ist aj cestou najmensieho odporu a pouzit predkompilovane jsp ale tam mi prosto nedorazia vsetky potrebne objekty. Chcel som sa spytat ci existuje nejaky tool, ktoremu je mozne poslat takyto obsah a on by vratil do servletu uz spracovany obsah. Dik. t^ -- jeeff
Reporting system
Diky za odkazy. Na obe reseni jsem tak zbezne koukal. BIRT je docela moloch :) Skoda, ze je staven nad Eclipse, tim pro me tahle moznost pada. Navic bych potreboval rozdelit tu logiku na server a klienta. To znamena, aby se spojeni se zdrojem konalo na serveru a klientovi se uz jenom pomoci vzdaleneho volani EJB vratila data. Nejsem si jisty, zda neco takoveho jde pres tyto nastroje provest. Kratky scenar: Opravneny uzivatel pusti aplikaci, da vytvorit novy report: napise SQL select (take s nejakymi parametry, ktere prida server az ve chvili spusteni dotazu, jako prihlaseny uzivatel, atd.). Ulozi do urcite kategorie. Nyni prijde druhy uzivatel, pusti aplikaci a zobrazi se mu seznam reportu, ktere si muze spustit. Po vyberu se mu vygeneruje tabulka i s moznou filtraci (podle toho jak ji nadefinoval predchozi uzivatel). Navic potrebuji export do XLS, PDF, atd. Napadlo me vlastni reseni. Parsovat SQL dotaz. Tzn. ze napr opravneny uzivatel napise: WHERE uzivatel = [uzivatel] a dany retezec [uzivatel] se inicializuje jako aktualni prihlaseny uzivatel na serveru, atd. Neco podobneho by delal pro filtraci. Resil nekdo neco podobneho? Zejmena s tim parsovanim SQL. Information from NOD32 This message was checked by NOD32 Antivirus System for Linux Mail Servers. http://www.eset.com
Re: setovani boolean hodnoty (zatrzitka) v javax.swing.JTable
Ahoj, http://java.sun.com/docs/books/tutorial/uiswing/components/table.html v Modelu musi byt public Class getColumnClass(int c) { return getValueAt(0, c).getClass(); } nebo treba if(c==4) return Boolean.class; Karel Petr Burdik píše v St 25. 07. 2007 v 06:21 +0200: Ahoj, vcera jsem si to prochazel, ono me asi vic zajima vubec jak setovat hodnoty. Zatim to delam takto: public void showDevicesList() { int colCount = 4; int rowCount = this.devicesList.size(); Object[][] devicesArray = new Object [rowCount][colCount]; for(int iRow = 0; iRow rowCount; iRow++) { devicesArray[iRow][0] = Boolean.TRUE; devicesArray[iRow][1] = ((Cash)this.devicesList.get(iRow)).getName(); devicesArray[iRow][2] = ((Cash)this.devicesList.get(iRow)).getInPluCompleted() + z + ((Cash)this.devicesList.get(iRow)).getInPluInProcessing(); devicesArray[iRow][3] = ((Cash)this.devicesList.get(iRow)).getOutPluCompleted() + z + ((Cash)this.devicesList.get(iRow)).getOutPluInProcessing(); } jtSelectDevice.setModel(new javax.swing.table.DefaultTableModel( devicesArray, new String [] { vyber, nazev, preneseno z, preneseno do } ) { Class[] types = new Class [] { java.lang.Boolean.class, java.lang.String.class, java.lang.String.class, java.lang.String.class }; }); jtSelectDevice.getColumnModel().getColumn(0).setPreferredWidth(50); jtSelectDevice.getColumnModel().getColumn(1).setPreferredWidth(337); jtSelectDevice.getColumnModel().getColumn(2).setPreferredWidth(100); jtSelectDevice.getColumnModel().getColumn(3).setPreferredWidth(100); } Takto zobrazuju a prekresluji vsechny hodnoty. Samotnemu se mi to moc nelibi. Pocet radku je po startu aplikace zatim konstantni, ale pro kazdou instalaci jiny. objekt versus genericky typ by problem byt nemel. Porad si rikam jestli tam nejde nejak nacpat jenom nove pole hodnot a dat refresh. Ale zatim jsem na to jeste neprisel. A popsane to nadvakrat neni co jsem hledal nikde. Ze by to rucne nikdo neplnil? :) Pekny den Pet On Tue, 24 Jul 2007 18:38:55 +0200, Karel Tejnora [EMAIL PROTECTED] wrote: Asi by to chtelo trochu vice rozvest, ale myslim ze jsem mel podobny problem - boolean vs. java.lang.Boolean. Petr Burdik píše v Út 24. 07. 2007 v 17:53 +0200: Ahojte, pouzivam netbeans a pripravil jsem si javax.swing.JTable pro zobrazeni aktualniho stavu komunikace a zaroven take pro zatrzeni se kterym zarizenim chcete komunikovat. Jenom se mi nejak nedari prijit na to, aby kdyz si vytvarim vlastni tabulku rucne zobrazoval JTable zatrzitko. V nahledu ho mam. Ale pak tam skoci true misto ctverecku pro zatrzitko. Poradite prosim nekdo? Pet
Re: Reporting system
Mozna se pletu, ale mam dojem, ze nad Eclipse je staven pouze BIRT designer, a vlastni masinka s Eclipsem nijak nesouvisi. Je na tom tedy podobne jako JasperReports - ten ma taky vlastni reportovaci masinku a krome toho GUI report designery (a ty jsou jako naschval vetsinou taky delane nad Eclipsem). Co se tyce popsanych pozadavku, definice reportu v BIRTu je balik vizualnich komponent, stylu a datasetu (coz muze byt mj. parametrizovatelny SQL dotaz), kdy pri spousteni dostava datasource, parametry a typ vystupniho dokumentu. Takze mi skoro prijde, ze by to melo byt presne to, co chcete. Pavel On 25/07/07, Ales Dostal [EMAIL PROTECTED] wrote: Diky za odkazy. Na obe reseni jsem tak zbezne koukal. BIRT je docela moloch :) Skoda, ze je staven nad Eclipse, tim pro me tahle moznost pada. Navic bych potreboval rozdelit tu logiku na server a klienta. To znamena, aby se spojeni se zdrojem konalo na serveru a klientovi se uz jenom pomoci vzdaleneho volani EJB vratila data. Nejsem si jisty, zda neco takoveho jde pres tyto nastroje provest. Kratky scenar: Opravneny uzivatel pusti aplikaci, da vytvorit novy report: napise SQL select (take s nejakymi parametry, ktere prida server az ve chvili spusteni dotazu, jako prihlaseny uzivatel, atd.). Ulozi do urcite kategorie. Nyni prijde druhy uzivatel, pusti aplikaci a zobrazi se mu seznam reportu, ktere si muze spustit. Po vyberu se mu vygeneruje tabulka i s moznou filtraci (podle toho jak ji nadefinoval predchozi uzivatel). Navic potrebuji export do XLS, PDF, atd. Napadlo me vlastni reseni. Parsovat SQL dotaz. Tzn. ze napr opravneny uzivatel napise: WHERE uzivatel = [uzivatel] a dany retezec [uzivatel] se inicializuje jako aktualni prihlaseny uzivatel na serveru, atd. Neco podobneho by delal pro filtraci. Resil nekdo neco podobneho? Zejmena s tim parsovanim SQL. Information from NOD32 This message was checked by NOD32 Antivirus System for Linux Mail Servers. http://www.eset.com