pro_imaj Posted May 11, 2016 Posted May 11, 2016 Merhaba; Ekteki dosyadaki gibi UniCalendarPanel ile Gün yada hafta sekmesine geldiğimde saatleri am/pm şeklinde gösteriyor oysa ben 10:00 ve 22:00 gibi göstermesini istiyorum bununla birlikte resimdeki Today yazısını da Türkçeleştiremedim bunların yolu var mıdır böyle mi kullanmalıyım. Teşekkürler. Quote
bugra Posted May 11, 2016 Posted May 11, 2016 Merhabalar; Maalesef şimdilik birşey yapamıyoruz. Sorunu not aldık ileriki sürümlerde çözmeye çalışacağız. Quote
pro_imaj Posted May 11, 2016 Author Posted May 11, 2016 Çok teşekkür ederim, umarım kısa sürede yapılabilir bir taleptir. İyi çalışmalar. Quote
pro_imaj Posted May 12, 2016 Author Posted May 12, 2016 Merhaba Buğra Bey; Aşağıdaki komut ile kaydedilen bilgileri ben database alan alan yazmak istiyorum bunu nasıl yaparım acaba UniCalendarPanel1.Events.SaveToFile(FName); *Ekteki dosyadaki her bir alanı tabloya ayrı ayrı yazmak. Quote
bugra Posted May 13, 2016 Posted May 13, 2016 Merhabalar O dosyayı oluşturup bilgileri geri oradan okumak yerine aşağıdaki koda benzer bir biçimde yapabilirsiniz. for I := 0 to UniCalendarPanel1.Events.Count-1 do begin Database.Append; Database.FieldByName('CalendarId').AsString := UniCalendarPanel1.Events.Item[I].CalendarId; Database.FieldByName('Title').AsString := UniCalendarPanel1.Events.Item[I].Title; Database.FieldByName('Title').AsDateTime := UniCalendarPanel1.Events.Item[I].StartDate; Database.FieldByName('Title').AsDateTime := UniCalendarPanel1.Events.Item[I].EndDate; Database.FieldByName('Title').AsString := UniCalendarPanel1.Events.Item[I].Reminder; Database.FieldByName('Title').AsBool := UniCalendarPanel1.Events.Item[I].IsAllDay; Database.Post; end; ya da daha mantıklı bir yöntem olarak her eventi oluşturduğunuz anda database'e yazabilirsiniz. Quote
pro_imaj Posted May 13, 2016 Author Posted May 13, 2016 Merhaba Buğra Bey; Cevabınız için çok teşekkür ederim. Tittle aynı olan işler olduğunda kullanıcı title değiştirdiğinde bunu algılayıp tabloyu güncellemek çok zor. Her işlem için bir ID verse çok daha mantıklı olur, böylelikte tabloda güncelleme yaparken ID alanına göre güncellemiş oluruz. Şu durumda kullanıcı bütün alanlarını aynı girdiği iki iş olsa bu ayır edilemiyor. Veya kullanıcı işlerin başlıkları değiştiğinde de ayırt edilemiyor. Quote
pro_imaj Posted May 13, 2016 Author Posted May 13, 2016 Örnek; 1-Kullanıcı ilk kaydı ekledi ve kaydet deyince bizde tabloya verileri ekledik. 2-Kullanıcı kaydettiği veriye tıklayarak tarih saat ve başlık bilgilerini değiştirdiğinde tabloda güncellenmesi gereken kayıt key bilgileri kalktığı için tabloda güncellenemeyecek. Quote
Administrators Farshad Mohajeri Posted May 13, 2016 Administrators Posted May 13, 2016 EventId var zaten atlanmış o. Quote
Administrators Farshad Mohajeri Posted May 13, 2016 Administrators Posted May 13, 2016 TUniCalendarEvent = class(TPersistent) protected function GetEventId: Integer; virtual; abstract; procedure SetCalendarId(Value: Integer); virtual; abstract; function GetCalendarId: Integer; virtual; abstract; procedure SetTitle(Value: string); virtual; abstract; function GetTitle: string; virtual; abstract; procedure SetStart(Value: TDateTime); virtual; abstract; function GetStart: TDateTime; virtual; abstract; procedure SetEnd(Value: TDateTime); virtual; abstract; function GetEnd: TDateTime; virtual; abstract; procedure SetLocation(Value: string); virtual; abstract; function GetLocation: string; virtual; abstract; procedure SetNotes(Value: string); virtual; abstract; function GetNotes: string; virtual; abstract; procedure SetUrl(Value: string); virtual; abstract; function GetUrl: string; virtual; abstract; procedure SetIsAllDay(Value: Boolean); virtual; abstract; function GetIsAllDay: Boolean; virtual; abstract; procedure SetReminder(Value: string); virtual; abstract; function GetReminder: string; virtual; abstract; procedure SetIsNew(Value: Boolean); virtual; abstract; function GetIsNew: Boolean; virtual; abstract; public procedure Assign(Source: TPersistent); override; procedure ReadFromStream(Stream: TStream); virtual; abstract; procedure WriteToStream(Stream: TStream); virtual; abstract; property EventId : Integer read GetEventId; // property CalendarId : Integer read GetCalendarId write SetCalendarId; property Title : string read GetTitle write SetTitle; property StartDate : TDateTime read GetStart write SetStart; property EndDate : TDateTime read GetEnd write SetEnd; property Location : string read GetLocation write SetLocation; property Notes : string read GetNotes write SetNotes; property Url: string read GetUrl write SetUrl; property IsAllDay : Boolean read GetIsAllDay write SetIsAllDay; property Reminder : string read GetReminder write SetReminder; property IsNew : Boolean read GetIsNew write SetIsNew; end; Quote
pro_imaj Posted May 14, 2016 Author Posted May 14, 2016 Cevaplar için çok teşekkür ederim. Fazlasıyla işimi gördü. İyi çalışmalar dilerim. Quote
pro_imaj Posted July 27, 2016 Author Posted July 27, 2016 Merhaba; İlk mesajdaki düzenleme yapıldı mı acaba? Teşekkürler. Quote
pro_imaj Posted November 27, 2017 Author Posted November 27, 2017 Günlük ve haftalıkta 12 saat (am-pm) sorunu @Delphi Developer bahsetttiği şekilde çözdüm, aylık bazında görüntüde sorun devam ediyor. MainForm -> ClientEvents -> UniEvents add function window.beforeInit function window.beforeInit(sender) { Ext.calendar.template.DayBody.override({ constructor: function(config){ Ext.apply(this, config); Ext.calendar.template.DayBody.superclass.constructor([ '<table class="ext-cal-bg-tbl" cellspacing="0" cellpadding="0">', '<tbody>', '<tr height="1">', '<td class="ext-cal-gutter"></td>', '<td colspan="{dayCount}">', '<div class="ext-cal-bg-rows">', '<div class="ext-cal-bg-rows-inner">', '<tpl for="times">', '<div class="ext-cal-bg-row">', '<div class="ext-cal-bg-row-div ext-row-{[xindex]}"></div>', '</div>', '</tpl>', '</div>', '</div>', '</td>', '</tr>', '<tr>', '<td class="ext-cal-day-times">', '<tpl for="times">', '<div class="ext-cal-bg-row">', '<div class="ext-cal-day-time-inner">{.}</div>', '</div>', '</tpl>', '</td>', '<tpl for="days">', '<td class="ext-cal-day-col">', '<div class="ext-cal-day-col-inner">', '<div id="{[this.id]}-day-col-{.:date("Ymd")}" class="ext-cal-day-col-gutter"></div>', '</div>', '</td>', '</tpl>', '</tr>', '</tbody>', '</table>' ]); }, // private applyTemplate : function(o){ this.today = Ext.calendar.util.Date.today(); this.dayCount = this.dayCount || 1; var i =0, days = [], dt = Ext.Date.clone(o.viewStart), times = []; for(; i<this.dayCount; i++){ days[i] = Ext.calendar.util.Date.add(dt, {days: i}); } // use a fixed DST-safe date so times don't get skipped on DST boundaries dt = Ext.Date.clearTime(new Date('5/26/1972')); for(i=0; i<24; i++){ times.push(Ext.Date.format(dt, 'G:i')); dt = Ext.calendar.util.Date.add(dt, {hours: 1}); } return this.applyOut({ days: days, dayCount: days.length, times: times }, []).join(''); } }); } Quote
Administrators Farshad Mohajeri Posted December 1, 2017 Administrators Posted December 1, 2017 Artık Ext JS 6.5'a geçiyoruz ve oradaki Calendar komponenti tamamen farklı ve Sencha tarafından yeniden yazılmış. Bu tür sorunların çözümü daha kolay olacak diye umuyorum. Quote
pro_imaj Posted December 1, 2017 Author Posted December 1, 2017 Teşekkürler, diğer bütün componentlerde de yenilikler için 6.5 sabırsızlıkla bekliyoruz. İyi çalışmalar. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.