From 59f0db9da05209bf411652ee2ac5c5b1e14634ad Mon Sep 17 00:00:00 2001 From: lazhen <17772815105@139.com> Date: 星期四, 30 五月 2024 17:07:20 +0800 Subject: [PATCH] 日历不可用事件界面表格 --- _Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeTable.qbl | 30 ++++++++++++++++++++++-------- 1 files changed, 22 insertions(+), 8 deletions(-) diff --git a/_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeTable.qbl b/_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeTable.qbl index 61af153..6ef690d 100644 --- a/_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeTable.qbl +++ b/_Main/BL/Type_LibCal_SubscriberEventTable/Method_InitializeTable.qbl @@ -1,8 +1,7 @@ Quintiq file version 2.0 #parent: #root Method InitializeTable ( - LibCal_Calendars subscribers, - LibCal_EventCategory category + LibCal_Calendars subscribers ) { TextBody: @@ -22,17 +21,23 @@ traverse( subscribers, Elements, subscriber ){ // info( '------------------------', subscriber.CalendarID(), subscriber.CalendarType() ); // traverse( subscriber,Participation.astype( LibCal_Subscription ).LeadingParticipation, participation ){ - traverse( subscriber,Participation.astype( LibCal_Subscription ).LeadingParticipation, participation, participation.Event().EventCategory() = category ){ + traverse( subscriber,Participation.astype( LibCal_Subscription ).LeadingParticipation, participation, participation.Event().EventCategory().Name() = 'Unavailable' ){ // info( '------------------------', participation.Event().Subject(), '------', participation.Event().EventCategory().Name() ); event := participation.Event(); - row := selectobject( this, LibCal_SubscriberEventRow, row, row.Subscriber() = subscriber.CalendarID() and row.Event() = event.Subject() and row.EventType() = event.EventType() ); + row := selectobject( this, LibCal_SubscriberEventRow, row, row.Subscriber() = subscriber.CalendarID() + and row.Event() = event.Subject() + and row.EventType() = event.EventType().Name() + ); if( isnull( row ) ){ - row := this.LibCal_SubscriberEventRow( relnew, RowNr := rownr, Subscriber := subscriber.CalendarID(), Event := event.Subject(), EventType := event.EventType() ); + row := this.LibCal_SubscriberEventRow( relnew, RowNr := rownr, Subscriber := subscriber.CalendarID(), + Event := event.Subject(), + EventType := event.EventType().Name() ); - if( counter( this, LibCal_SubscriberEventRow, linerow, linerow.Subscriber() = row.Subscriber() ) = 1 ){ - subscribercell := subscribercolumn.LibCal_SubscriberEventCell( relnew, Value := row.Subscriber() ); - row.LibCal_SubscriberEventCell( relinsert, subscribercell ); + subscribercell := subscribercolumn.LibCal_SubscriberEventCell( relnew, Value := row.Subscriber() ); + if( counter( this, LibCal_SubscriberEventRow, linerow, linerow.Subscriber() = row.Subscriber() ) <> 1 ){ + subscribercell.Value( '' ); } + row.LibCal_SubscriberEventCell( relinsert, subscribercell ); eventcell := eventcolumn.LibCal_SubscriberEventCell( relnew, Value := row.Event() ); row.LibCal_SubscriberEventCell( relinsert, eventcell ); @@ -52,5 +57,14 @@ } } + + traverse( this, LibCal_SubscriberEventColumn, column ){ + traverse( this, LibCal_SubscriberEventRow, row ){ + if( not exists( column, LibCal_SubscriberEventCell, cell, cell.LibCal_SubscriberEventRow() = row ) ) { + cell := column.LibCal_SubscriberEventCell( relnew, Value := '' ); + row.LibCal_SubscriberEventCell( relinsert, cell ); + } + } + } *] } -- Gitblit v1.9.3