PowerTools CalendarGrid for Windows Forms 1.0J
切り取り/コピー/貼り付けの操作

CalendarGridでは、Excelと同じように選択したセルの値に対して切り取りやコピー、または値の貼り付けができます。


コピーされる値

セルを選択した状態でCtrl+Cを押下すると、セルに表示されている文字列またはCalendarCell.Valueプロパティの値をコピーできます。
セルが次の条件の場合は、セルに表示されている文字列がコピーされます。その他の場合には、CalendarCell.Valueプロパティの値がコピーされます。


コピー対象の範囲

コピーまたは切り取り操作の対象になるのは選択されたセルです。そのため、画面上に表示されていないセルが選択されている場合、そのセルも対象になります。

たとえば、次のように操作した場合には、2014年6月1日から2014年7月5日までがコピー操作の対象になります。

  1. 2014年6月1日のセルをクリックして選択します。

  2. Shiftキーを押下した状態で、隣接日に表示されている2014年7月5日をクリックします。
  3. 2014年6月1日から2014年7月5日までが選択された状態になります。

  4. Ctrl+Cを押下してセルの値をコピーします。

テンプレートの行または列を非表示に設定した場合、非表示に設定された行または列に配置されているセルはコピーや切り取り操作の対象外になります。
行、列の非表示については、「テンプレート - 行と列を非表示にする」を参照してください。

次のコードでは、CalendarRow.Visibleプロパティで2行目を非表示にしているため、2行目のセルの値はコピーされません。

Imports GrapeCity.Win.CalendarGrid

Dim Template As New CalendarTemplate()
Template.RowCount = 3
Template.ColumnHeader.Rows(0).Cells(0).DateFormat = "{DayOfWeek}"
Template.Content.Rows(0).Cells(0).DateFormat = "{MonthDay}"
Template.Content.Rows(0).Cells(0).CellStyleName = "defaultStyle"
Template.Content.Rows(1).Cells(0).Name = "myCell1"
Template.Content.Rows(1).Cells(0).Value = "AAA"
Template.Content.Rows(1).Visible = False
Template.Content.Rows(2).Cells(0).Value = "BBB"

GcCalendarGrid1.Template = Template
using GrapeCity.Win.CalendarGrid;

CalendarTemplate template = new CalendarTemplate();
template.RowCount = 3;
template.ColumnHeader.Rows[0].Cells[0].DateFormat = "{DayOfWeek}";
template.Content.Rows[0].Cells[0].DateFormat = "{MonthDay}";
template.Content.Rows[0].Cells[0].CellStyleName = "defaultStyle";
template.Content.Rows[1].Cells[0].Name = "myCell1";
template.Content.Rows[1].Cells[0].Value = "AAA";
template.Content.Rows[1].Visible = false;
template.Content.Rows[2].Cells[0].Value = "BBB";

gcCalendarGrid1.Template = template;



値の貼り付けができないセル

編集機能を持たないセル

既定の動作では、Ctrl+Vキーによって選択したセルにクリップボードの値を貼り付けることができますが、編集ができないセルに対しては、この貼り付け機能は無効になります。
たとえば、日付書式が設定されているセル、Image型セルやLinkLabel型セルなどに対しては、クリップボードの値を貼り付けることができません。


以下の図のような1日のテンプレートを持つカレンダーでは、2行1列目のTextBox型セル以外のセルには、値を貼り付けることができません。


編集不可に設定されたセル

次のいずれかの条件を満たす場合、対象のセルには値を貼り付けることができません。


切り取り/コピー/貼り付けの操作を無効にする

既定では、切り取り/コピー/貼り付けの操作が有効になっていますが、この操作はAllowClipboardプロパティにFalseを設定することで無効にできます。

GcCalendarGrid1.AllowClipboard = False
gcCalendarGrid1.AllowClipboard = false;


Appointment型セルのコピー&貼り付け操作

Appointment型セルで予定として範囲指定されている複数のセルをコピーして、貼り付け先のセルもAppointment型セルが設定されてる場合、範囲指定の情報もコピー&貼り付け操作の対象になります。

注意 
貼り付け先のセルがAppointment型セルではない場合、セルのValueプロパティの値のみが貼り付けられます。この場合、範囲指定の情報は貼り付け先のセルに設定されません。


制限事項


参照

 

 


© 2014 GrapeCity inc. All rights reserved.