GrapeCity.Win.CalendarGrid.v20 アセンブリ > GrapeCity.Win.CalendarGrid 名前空間 : CalendarRadioGroupCellType クラス |
Public Class CalendarRadioGroupCellType Inherits CalendarCellType
public class CalendarRadioGroupCellType : CalendarCellType
CalendarRadioGroupCellType クラスは、ラジオボタンのセットを表示する特別なタイプの CalendarCellType です。CalendarRadioGroupCellType が現在のセルで、編集モードにある場合、ユーザーは単にクリックするか、[←]、[→]、[↑]、[↓]のいずれかのキーを押すことによって、セルの値を編集できます。
ユーザーが CalendarRadioGroupCellType のラジオボタンを選択すると、同じ CalendarRadioGroupCellType 内の他のラジオボタンの選択が解除されます。ラジオグループは、ユーザーに選択肢のセットを提示し、その中から 1 つだけ選択させる場合に定義します。
継承時の注意:
CalendarRadioGroupCellType から継承した派生クラスに新しいプロパティを追加するときは、必ず Clone メソッドをオーバーライドして、クローニング操作時に新しいプロパティがコピーされるようにしてください。また、基本クラスの Clone メソッドを呼び出して、基本クラスのプロパティが新しいセルにコピーされるようにしてください。
using System; using System.Windows.Forms; using System.Drawing; using GrapeCity.Win.CalendarGrid; namespace CalendarGridSampleCode { public class RadioGroupCellDemo : Form { private GcCalendarGrid gcCalendarGrid1 = new GcCalendarGrid(); private Label label = new Label(); public RadioGroupCellDemo() { this.Text = "RadioGroupCell Demo"; this.gcCalendarGrid1.Dock = DockStyle.Fill; this.label.Height = 30; this.label.Dock = DockStyle.Bottom; this.label.BackColor = SystemColors.Info; this.label.Text = "Click one cell to show the clicked item."; this.Controls.Add(this.gcCalendarGrid1); this.Controls.Add(this.label); this.Load += Form1_Load; this.gcCalendarGrid1.CellEditingValueChanged += gcCalendarGrid1_CellEditingValueChanged; this.Size = new Size(400, 400); } private void Form1_Load(object sender, EventArgs e) { CalendarRadioGroupCellType radioGroupCell1 = new CalendarRadioGroupCellType(); for (int i = 1; i < 7; i++) { radioGroupCell1.Items.Add(i.ToString()); } radioGroupCell1.CheckAlign = ContentAlignment.MiddleLeft; //6 radio will be lay out to 3 columns. radioGroupCell1.ColumnCount = 3; //The radio button will range from left to right. radioGroupCell1.FlowDirection = Orientation.Horizontal; //Between every 2 columns, 20 pixels space exists at least. radioGroupCell1.HorizontalSpace = 20; radioGroupCell1.FlatStyle = FlatStyle.Popup; CalendarRadioGroupCellType radioGroupCell2 = new CalendarRadioGroupCellType(); radioGroupCell2.Items.Add("11111"); radioGroupCell2.Items.Add("22222"); radioGroupCell2.Items.Add("33333"); radioGroupCell2.Items.Add("44444"); radioGroupCell2.Items.Add("55555"); radioGroupCell2.Items.Add("66666"); radioGroupCell2.CheckAlign = ContentAlignment.MiddleLeft; //6 radio will be lay out to 3 columns. radioGroupCell2.ColumnCount = 3; //The radio button will range from top to bottom. radioGroupCell2.FlowDirection = Orientation.Vertical; //Between every 2 lines, 20 pixels space exists at least. radioGroupCell2.VerticalSpace = 20; // radioGroupCell2.Ellipsis = CalendarGridEllipsisMode.EllipsisEnd; radioGroupCell2.EllipsisString = "..."; CalendarTemplate template1 = CalendarTemplate.CreateDefaultTemplate(); template1.Content.Columns[0].Width = 150; template1.Content.Rows[1].Height = 60; template1.Content.Rows[2].Height = 60; template1.Content[1, 0].CellType = radioGroupCell1; template1.Content[2, 0].CellType = radioGroupCell2; gcCalendarGrid1.Template = template1; } private void gcCalendarGrid1_CellEditingValueChanged(object sender, CalendarCellEditingValueChangedEventArgs e) { object item = (this.gcCalendarGrid1[e.CellPosition.Date][e.CellPosition.RowIndex, e.CellPosition.ColumnIndex].CellType as CalendarRadioGroupCellType).Items[(int)e.Value]; this.label.Text = "The clicked item is " + item.ToString(); } [STAThreadAttribute()] public static void Main() { Application.EnableVisualStyles(); Application.Run(new RadioGroupCellDemo()); } } }
Imports System.Windows.Forms Imports System.Drawing Imports GrapeCity.Win.CalendarGrid Namespace CalendarGridSampleCode Public Class RadioGroupCellDemo Inherits Form Private gcCalendarGrid1 As New GcCalendarGrid() Private label As New Label() Public Sub New() Me.Text = "RadioGroupCell Demo" Me.gcCalendarGrid1.Dock = DockStyle.Fill Me.label.Height = 30 Me.label.Dock = DockStyle.Bottom Me.label.BackColor = SystemColors.Info Me.label.Text = "Click one cell to show the clicked item." Me.Controls.Add(Me.gcCalendarGrid1) Me.Controls.Add(Me.label) AddHandler Me.Load, AddressOf Form1_Load AddHandler Me.gcCalendarGrid1.CellEditingValueChanged, AddressOf gcCalendarGrid1_CellEditingValueChanged Me.Size = New Size(400, 400) End Sub Private Sub Form1_Load(sender As Object, e As EventArgs) Dim radioGroupCell1 As New CalendarRadioGroupCellType() For i As Integer = 1 To 6 radioGroupCell1.Items.Add(i.ToString()) Next radioGroupCell1.CheckAlign = ContentAlignment.MiddleLeft '6 radio will be lay out to 3 columns. radioGroupCell1.ColumnCount = 3 'The radio button will range from left to right. radioGroupCell1.FlowDirection = Orientation.Horizontal 'Between every 2 columns, 20 pixels space exists at least. radioGroupCell1.HorizontalSpace = 20 radioGroupCell1.FlatStyle = FlatStyle.Popup Dim radioGroupCell2 As New CalendarRadioGroupCellType() radioGroupCell2.Items.Add("11111") radioGroupCell2.Items.Add("22222") radioGroupCell2.Items.Add("33333") radioGroupCell2.Items.Add("44444") radioGroupCell2.Items.Add("55555") radioGroupCell2.Items.Add("66666") radioGroupCell2.CheckAlign = ContentAlignment.MiddleLeft '6 radio will be lay out to 3 columns. radioGroupCell2.ColumnCount = 3 'The radio button will range from top to bottom. radioGroupCell2.FlowDirection = Orientation.Vertical 'Between every 2 lines, 20 pixels space exists at least. radioGroupCell2.VerticalSpace = 20 ' radioGroupCell2.Ellipsis = CalendarGridEllipsisMode.EllipsisEnd radioGroupCell2.EllipsisString = "..." Dim template1 As CalendarTemplate = CalendarTemplate.CreateDefaultTemplate() template1.Content.Columns(0).Width = 150 template1.Content.Rows(1).Height = 60 template1.Content.Rows(2).Height = 60 template1.Content(1, 0).CellType = radioGroupCell1 template1.Content(2, 0).CellType = radioGroupCell2 gcCalendarGrid1.Template = template1 End Sub Private Sub gcCalendarGrid1_CellEditingValueChanged(sender As Object, e As CalendarCellEditingValueChangedEventArgs) Dim item As Object = TryCast(Me.gcCalendarGrid1(e.CellPosition.[Date])(e.CellPosition.RowIndex, e.CellPosition.ColumnIndex).CellType, CalendarRadioGroupCellType).Items(CInt(e.Value)) Me.label.Text = "The clicked item is " + item.ToString() End Sub <STAThreadAttribute> _ Public Shared Sub Main() Application.EnableVisualStyles() Application.Run(New RadioGroupCellDemo()) End Sub End Class End Namespace
System.Object
GrapeCity.Win.CalendarGrid.CalendarCellType
GrapeCity.Win.CalendarGrid.CalendarRadioGroupCellType