FarPoint.Win.SpreadJ アセンブリ > FarPoint.Win.Spread 名前空間 > FpSpread クラス : FilterBarDropDownSelectionChanging イベント |
'Declaration Public Event FilterBarDropDownSelectionChanging As FilterBarDropDownSelectionChangingEventHandler
'使用法 Dim instance As FpSpread Dim handler As FilterBarDropDownSelectionChangingEventHandler AddHandler instance.FilterBarDropDownSelectionChanging, handler
public event FilterBarDropDownSelectionChangingEventHandler FilterBarDropDownSelectionChanging
イベント ハンドラが、このイベントに関連するデータを含む、FilterBarDropDownSelectionChangingEventArgs 型の引数を受け取りました。次の FilterBarDropDownSelectionChangingEventArgs プロパティには、このイベントの固有の情報が記載されます。
プロパティ | 説明 |
---|---|
ChangesObject | 新しい値。 |
ColumnIndex | 列インデックスを指定します。 |
Handled | 新しい値が処理されたかどうかを示します。 |
private void Form1_Load(object sender, EventArgs e) { System.Globalization.DateTimeFormatInfo dtf = new System.Globalization.DateTimeFormatInfo(); dtf.LongDatePattern = "D"; dtf.ShortDatePattern = "M/d/yyyy"; FarPoint.Win.Spread.CellType.FilterBarCellType fbcell = new FarPoint.Win.Spread.CellType.FilterBarCellType(); fbcell.AutoFormat = true; fbcell.ContextMenuType = FarPoint.Win.Spread.CellType.FilterBarContextMenuType.DateTime; fbcell.DateTimeFormatInfo = dtf; fpSpread1.Sheets[0].AutoFilterMode = FarPoint.Win.Spread.AutoFilterMode.FilterBar; fpSpread1.Sheets[0].FilterBar.Cells[0].CellType = fbcell; fpSpread1.Sheets[0].Cells[0, 0].Value = DateTime.Now; } private void fpSpread1_FilterBarDropDownSelectionChanging(object sender, FarPoint.Win.Spread.CellType.FilterBarDropDownSelectionChangingEventArgs e) { if (e.ChangesObject is string) //all condition to Contains using wildcard { // e.ChangesObject = "*" + e.ChangesObject.ToString() + "*"; //e.Handled = true; //notify to use new changed value } else if (e.ChangesObject is DateTime) //change DateTime to a short format string { //e.ChangesObject = ((DateTime)e.ChangesObject).ToShortDateString(); FarPoint.Win.Spread.CellType.DateTimeCellType dc = new FarPoint.Win.Spread.CellType.DateTimeCellType(); dc.DateTimeFormat = FarPoint.Win.Spread.CellType.DateTimeFormat.UserDefined; dc.UserDefinedFormat = "M/d/yy"; //e.ChangesObject = dc.Format(e.ChangesObject); GrapeCity.Win.Spread.InputMan.CellType.GcDateTimeCellType datecell = new GrapeCity.Win.Spread.InputMan.CellType.GcDateTimeCellType(); GrapeCity.Win.Spread.InputMan.CellType.Fields.DateDayFieldInfo test = new GrapeCity.Win.Spread.InputMan.CellType.Fields.DateDayFieldInfo(); datecell.FocusPosition = GrapeCity.Win.Spread.InputMan.CellType.FieldsEditorFocusCursorPosition.MouseLocation; datecell.Spin.AllowSpin = true; datecell.Spin.IncrementValue = new TimeSpan(2); datecell.DropDownCalendar.BackColor = Color.Red; datecell.DropDownCalendar.CalendarDimensions = new Size(3, 1); datecell.DropDownCalendar.Font = new Font("Arial", 10, FontStyle.Bold); datecell.DropDown.AllowDrop = true; datecell.DropDown.AllowResize = true; datecell.DropDown.AutoDropDown = true; datecell.DefaultActiveField = datecell.Fields[2]; e.ChangesObject = datecell.Format(e.ChangesObject); e.Handled = true; //notify to use new changed value } else if (e.ChangesObject is Color) // change color or icon enumerable { if (((Color)e.ChangesObject) == Color.Red) e.ChangesObject = Color.DarkBlue; e.Handled = true; //notify to use new changed value } else //by default it is false, not used e.Handled = false; //notify to not use new changed value }
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim dtf As New System.Globalization.DateTimeFormatInfo dtf.LongDatePattern = "D" dtf.ShortDatePattern = "M/d/yyyy" Dim fbcell As New FarPoint.Win.Spread.CellType.FilterBarCellType() fbcell.AutoFormat = True fbcell.ContextMenuType = FarPoint.Win.Spread.CellType.FilterBarContextMenuType.DateTime fbcell.DateTimeFormatInfo = dtf FpSpread1.Sheets(0).AutoFilterMode = FarPoint.Win.Spread.AutoFilterMode.FilterBar FpSpread1.Sheets(0).FilterBar.Cells(0).CellType = fbcell FpSpread1.Sheets(0).Cells(0, 0).Value = DateTime.Now End Sub Private Sub FpSpread1_FilterBarDropDownSelectionChanging(ByVal sender As System.Object, ByVal e As FarPoint.Win.Spread.CellType.FilterBarDropDownSelectionChangingEventArgs) Handles FpSpread1.FilterBarDropDownSelectionChanging If TypeOf e.ChangesObject Is String Then ' e.ChangesObject = "*" + e.ChangesObject.ToString() + "*"; 'e.Handled = true; //notify to use new changed value 'all condition to Contains using wildcard ElseIf TypeOf e.ChangesObject Is DateTime Then 'change DateTime to a short format string 'e.ChangesObject = ((DateTime)e.ChangesObject).ToShortDateString(); Dim dc As New FarPoint.Win.Spread.CellType.DateTimeCellType() dc.DateTimeFormat = FarPoint.Win.Spread.CellType.DateTimeFormat.UserDefined dc.UserDefinedFormat = "M/d/yy" 'e.ChangesObject = dc.Format(e.ChangesObject); Dim datecell As New GrapeCity.Win.Spread.InputMan.CellType.GcDateTimeCellType() Dim test As New GrapeCity.Win.Spread.InputMan.CellType.Fields.DateDayFieldInfo() datecell.FocusPosition = GrapeCity.Win.Spread.InputMan.CellType.FieldsEditorFocusCursorPosition.MouseLocation datecell.Spin.AllowSpin = True datecell.Spin.IncrementValue = New TimeSpan(2) datecell.DropDownCalendar.BackColor = Color.Red datecell.DropDownCalendar.CalendarDimensions = New Size(3, 1) datecell.DropDownCalendar.Font = New Font("Arial", 10, FontStyle.Bold) 'datecell.DropDownCalendar.HeaderStyle.BackColor = Color.Green; datecell.DropDown.AllowDrop = True datecell.DropDown.AllowResize = True datecell.DropDown.AutoDropDown = True datecell.DefaultActiveField = datecell.Fields(2) e.ChangesObject = datecell.Format(e.ChangesObject) 'notify to use new changed value e.Handled = True ElseIf TypeOf e.ChangesObject Is Color Then ' change color or icon enumerable If DirectCast(e.ChangesObject, Color) = Color.Red Then e.ChangesObject = Color.DarkBlue End If 'notify to use new changed value e.Handled = True Else 'by default it is false, not used e.Handled = False End If 'notify to not use new changed value End Sub