Log In
Home
Support
Demos
Documentation
Blogs
Training
Webinars
[Expand]General Information
[Collapse]WinForms Controls
  Prerequisites
 [Expand]What's Installed
 [Expand]Build an Application
 [Expand]Controls and Libraries
 [Expand]Common Features
  Get More Help
 [Collapse]API Reference
  [Expand]DevExpress.DataAccess.UI.Design
  [Expand]DevExpress.DataAccess.UI.EntityFramework
  [Expand]DevExpress.DataAccess.UI.Excel
  [Expand]DevExpress.DataAccess.UI.Localization
  [Expand]DevExpress.DataAccess.UI.ObjectBinding
  [Expand]DevExpress.DataAccess.UI.Sql
  [Expand]DevExpress.DataAccess.UI.Wizard
  [Expand]DevExpress.DataAccess.UI.Wizard.Services
  [Expand]DevExpress.DataAccess.UI.Wizard.Views
  [Expand]DevExpress.DocumentView
  [Expand]DevExpress.DocumentView.Controls
  [Expand]DevExpress.LookAndFeel
  [Expand]DevExpress.LookAndFeel.Helpers
  [Expand]DevExpress.Skins
  [Expand]DevExpress.Snap
  [Expand]DevExpress.Snap.API.Native
  [Expand]DevExpress.Snap.Core
  [Expand]DevExpress.Snap.Core.API
  [Expand]DevExpress.Snap.Core.Fields
  [Expand]DevExpress.Snap.Core.Forms
  [Expand]DevExpress.Snap.Core.Options
  [Expand]DevExpress.Snap.Core.Services
  [Expand]DevExpress.Snap.Extensions
  [Expand]DevExpress.Snap.Extensions.Localization
  [Expand]DevExpress.Snap.Localization
  [Expand]DevExpress.Snap.Options
  [Expand]DevExpress.Snap.Services
  [Expand]DevExpress.Utils
  [Expand]DevExpress.Utils.Animation
  [Expand]DevExpress.Utils.Controls
  [Expand]DevExpress.Utils.Drawing
  [Expand]DevExpress.Utils.Menu
  [Expand]DevExpress.Utils.Taskbar
  [Expand]DevExpress.Utils.Taskbar.Core
  [Expand]DevExpress.Utils.UI.Localization
  [Expand]DevExpress.Utils.VisualEffects
  [Expand]DevExpress.Utils.Win
  [Expand]DevExpress.XtraBars
  [Expand]DevExpress.XtraBars.Alerter
  [Expand]DevExpress.XtraBars.Docking
  [Expand]DevExpress.XtraBars.Docking2010
  [Expand]DevExpress.XtraBars.Docking2010.Customization
  [Expand]DevExpress.XtraBars.Docking2010.Views
  [Expand]DevExpress.XtraBars.Docking2010.Views.NativeMdi
  [Expand]DevExpress.XtraBars.Docking2010.Views.Tabbed
  [Expand]DevExpress.XtraBars.Docking2010.Views.Widget
  [Expand]DevExpress.XtraBars.Docking2010.Views.WindowsUI
  [Expand]DevExpress.XtraBars.Localization
  [Expand]DevExpress.XtraBars.Navigation
  [Expand]DevExpress.XtraBars.Ribbon
  [Expand]DevExpress.XtraBars.Ribbon.Gallery
  [Expand]DevExpress.XtraBars.Ribbon.ViewInfo
  [Expand]DevExpress.XtraBars.ToastNotifications
  [Expand]DevExpress.XtraBars.Utils
  [Expand]DevExpress.XtraBars.WinRTLiveTiles
  [Expand]DevExpress.XtraCharts
  [Expand]DevExpress.XtraCharts.Designer
  [Expand]DevExpress.XtraCharts.Wizard
  [Expand]DevExpress.XtraDataLayout
  [Expand]DevExpress.XtraDiagram
  [Expand]DevExpress.XtraDiagram.Options
  [Expand]DevExpress.XtraEditors
  [Expand]DevExpress.XtraEditors.ButtonPanel
  [Expand]DevExpress.XtraEditors.Calendar
  [Expand]DevExpress.XtraEditors.Camera
  [Expand]DevExpress.XtraEditors.Container
  [Expand]DevExpress.XtraEditors.Controls
  [Expand]DevExpress.XtraEditors.CustomEditor
  [Expand]DevExpress.XtraEditors.DXErrorProvider
  [Expand]DevExpress.XtraEditors.Filtering
  [Expand]DevExpress.XtraEditors.Mask
  [Expand]DevExpress.XtraEditors.Persistent
  [Collapse]DevExpress.XtraEditors.Repository
   [Expand]BaseRepositoryItemCheckEdit Class
    CalendarSelectionMode Enumeration
    CalendarView Enumeration
   [Expand]EditorsRepositoryBase Class
    ExportMode Enumeration
    GridLookUpViewType Enumeration
   [Expand]PersistentRepository Class
   [Expand]RepositoryItem Class
   [Expand]RepositoryItemBaseProgressBar Class
   [Expand]RepositoryItemBaseSpinEdit Class
   [Expand]RepositoryItemBlobBaseEdit Class
   [Expand]RepositoryItemBreadCrumbEdit Class
   [Expand]RepositoryItemButtonEdit Class
   [Expand]RepositoryItemCalcEdit Class
   [Expand]RepositoryItemCheckedComboBoxEdit Class
   [Collapse]RepositoryItemCheckEdit Class
     RepositoryItemCheckEdit Members
     RepositoryItemCheckEdit Constructor
    [Expand]RepositoryItemCheckEdit Properties
    [Collapse]RepositoryItemCheckEdit Events
      CheckedChanged Event
      CheckStateChanged Event
      HyperlinkClick Event
      QueryCheckStateByValue Event
      QueryValueByCheckState Event
    [Expand]RepositoryItemCheckEdit Methods
   [Expand]RepositoryItemCollection Class
   [Expand]RepositoryItemColorEdit Class
   [Expand]RepositoryItemColorPickEdit Class
   [Expand]RepositoryItemComboBox Class
   [Expand]RepositoryItemDateEdit Class
   [Expand]RepositoryItemFontEdit Class
   [Expand]RepositoryItemGridLookUpEdit Class
   [Expand]RepositoryItemGridLookUpEditBase Class
   [Expand]RepositoryItemHyperLinkEdit Class
   [Expand]RepositoryItemImageComboBox Class
   [Expand]RepositoryItemImageEdit Class
   [Expand]RepositoryItemLookUpEdit Class
   [Expand]RepositoryItemLookUpEditBase Class
   [Expand]RepositoryItemMarqueeProgressBar Class
   [Expand]RepositoryItemMemoEdit Class
   [Expand]RepositoryItemMemoExEdit Class
   [Expand]RepositoryItemMRUEdit Class
   [Expand]RepositoryItemPageNumberEdit Class
   [Expand]RepositoryItemPickImage Class
   [Expand]RepositoryItemPictureEdit Class
   [Expand]RepositoryItemPopupBase Class
   [Expand]RepositoryItemPopupBaseAutoSearchEdit Class
   [Expand]RepositoryItemPopupContainerEdit Class
   [Expand]RepositoryItemPopupGalleryEdit Class
   [Expand]RepositoryItemProgressBar Class
   [Expand]RepositoryItemRadioGroup Class
   [Expand]RepositoryItemRangeTrackBar Class
   [Expand]RepositoryItemRatingControl Class
   [Expand]RepositoryItemRichTextEdit Class
   [Expand]RepositoryItemSearchControl Class
   [Expand]RepositoryItemSearchLookUpEdit Class
   [Expand]RepositoryItemSparklineEdit Class
   [Expand]RepositoryItemSpinEdit Class
   [Expand]RepositoryItemTextEdit Class
   [Expand]RepositoryItemTimeEdit Class
   [Expand]RepositoryItemTimeSpanEdit Class
   [Expand]RepositoryItemToggleSwitch Class
   [Expand]RepositoryItemTokenEdit Class
   [Expand]RepositoryItemTrackBar Class
   [Expand]RepositoryItemTreeListLookUpEdit Class
   [Expand]RepositoryItemZoomTrackBar Class
   [Expand]RichTextEditBehaviorOptions Class
   [Expand]RichTextEditHorizontalScrollbarOptions Class
    TimeEditStyle Enumeration
   [Expand]TrackBarRange Structure
  [Expand]DevExpress.XtraEditors.ViewInfo
  [Expand]DevExpress.XtraFilterEditor
  [Expand]DevExpress.XtraGauges.Presets.Styles
  [Expand]DevExpress.XtraGauges.Win
  [Expand]DevExpress.XtraGauges.Win.Base
  [Expand]DevExpress.XtraGauges.Win.Gauges.Circular
  [Expand]DevExpress.XtraGauges.Win.Gauges.Digital
  [Expand]DevExpress.XtraGauges.Win.Gauges.Linear
  [Expand]DevExpress.XtraGauges.Win.Gauges.State
  [Expand]DevExpress.XtraGrid
  [Expand]DevExpress.XtraGrid.Columns
  [Expand]DevExpress.XtraGrid.EditForm
  [Expand]DevExpress.XtraGrid.FilterEditor
  [Expand]DevExpress.XtraGrid.Localization
  [Expand]DevExpress.XtraGrid.Views.BandedGrid
  [Expand]DevExpress.XtraGrid.Views.BandedGrid.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Base
  [Expand]DevExpress.XtraGrid.Views.Base.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Card
  [Expand]DevExpress.XtraGrid.Views.Card.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Grid
  [Expand]DevExpress.XtraGrid.Views.Grid.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Layout
  [Expand]DevExpress.XtraGrid.Views.Layout.Events
  [Expand]DevExpress.XtraGrid.Views.Layout.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Printing
  [Expand]DevExpress.XtraGrid.Views.Tile
  [Expand]DevExpress.XtraGrid.Views.WinExplorer
  [Expand]DevExpress.XtraGrid.WinExplorer
  [Expand]DevExpress.XtraLayout
  [Expand]DevExpress.XtraLayout.Customization
  [Expand]DevExpress.XtraLayout.HitInfo
  [Expand]DevExpress.XtraLayout.Localization
  [Expand]DevExpress.XtraLayout.Utils
  [Expand]DevExpress.XtraMap
  [Expand]DevExpress.XtraMap.Printing
  [Expand]DevExpress.XtraNavBar
  [Expand]DevExpress.XtraNavBar.ViewInfo
  [Expand]DevExpress.XtraPdfViewer
  [Expand]DevExpress.XtraPdfViewer.Commands
  [Expand]DevExpress.XtraPdfViewer.Localization
  [Expand]DevExpress.XtraPivotGrid
  [Expand]DevExpress.XtraPivotGrid.Data
  [Expand]DevExpress.XtraPrinting
  [Expand]DevExpress.XtraPrinting.Control
  [Expand]DevExpress.XtraPrinting.Preview
  [Expand]DevExpress.XtraPrintingLinks
  [Expand]DevExpress.XtraReports.UI
  [Expand]DevExpress.XtraRichEdit
  [Expand]DevExpress.XtraRichEdit.Commands
  [Expand]DevExpress.XtraRichEdit.Export
  [Expand]DevExpress.XtraRichEdit.Import
  [Expand]DevExpress.XtraRichEdit.Localization
  [Expand]DevExpress.XtraRichEdit.Menu
  [Expand]DevExpress.XtraScheduler
  [Expand]DevExpress.XtraScheduler.Drawing
  [Expand]DevExpress.XtraScheduler.Printing
  [Expand]DevExpress.XtraScheduler.Reporting
  [Expand]DevExpress.XtraScheduler.Reporting.UI
  [Expand]DevExpress.XtraScheduler.Services
  [Expand]DevExpress.XtraScheduler.Services.Implementation
  [Expand]DevExpress.XtraScheduler.UI
  [Expand]DevExpress.XtraSpellChecker
  [Expand]DevExpress.XtraSpellChecker.Localization
  [Expand]DevExpress.XtraSplashForm
  [Expand]DevExpress.XtraSplashScreen
  [Expand]DevExpress.XtraSpreadsheet
  [Expand]DevExpress.XtraSpreadsheet.Services
  [Expand]DevExpress.XtraTab
  [Expand]DevExpress.XtraTab.Buttons
  [Expand]DevExpress.XtraTab.ViewInfo
  [Expand]DevExpress.XtraTabbedMdi
  [Expand]DevExpress.XtraToolbox
  [Expand]DevExpress.XtraTreeList
  [Expand]DevExpress.XtraTreeList.Columns
  [Expand]DevExpress.XtraTreeList.Data
  [Expand]DevExpress.XtraTreeList.Localization
  [Expand]DevExpress.XtraTreeList.Menu
  [Expand]DevExpress.XtraTreeList.Nodes
  [Expand]DevExpress.XtraTreeList.Nodes.Operations
  [Expand]DevExpress.XtraTreeList.StyleFormatConditions
  [Expand]DevExpress.XtraTreeMap
  [Expand]DevExpress.XtraVerticalGrid
  [Expand]DevExpress.XtraVerticalGrid.Events
  [Expand]DevExpress.XtraVerticalGrid.Localization
  [Expand]DevExpress.XtraVerticalGrid.Rows
  [Expand]DevExpress.XtraWaitForm
  [Expand]DevExpress.XtraWizard
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]WPF Controls
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Document Server
[Expand]Reporting
[Expand]Report Server
[Expand]Dashboard
[Expand]eXpressApp Framework
[Expand]CodeRush
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation

RepositoryItemCheckEdit.QueryCheckStateByValue Event

Allows for custom conversion from the edit value to a check state (checked, unchecked and indeterminate).

Namespace:DevExpress.XtraEditors.Repository
Assembly:DevExpress.XtraEditors.v17.1.dll

Expanded Syntax

Expanded Event Data

The event handler receives an argument of type QueryCheckStateByValueEventArgs containing data related to this event.

The following QueryCheckStateByValueEventArgs properties provide information specific to this event.
Property Description
CheckState Use this property to set the check state that corresponds to the current edit value.
Handled Gets or sets whether the event is handled and no default processing is required.
Value Gets the current edit value.

Expanded Remarks

Each state (checked, unchecked and indeterminate) in the CheckEdit control corresponds to a certain value. The default "state - value" pairs are:

  • Checked state corresponds to the true Boolean value.
  • Unchecked state corresponds to the false Boolean value.
  • Indeterminate state (see AllowGrayed) corresponds to the null value (Nothing in Visual Basic).

When the editor's check state is modified by an end-user or in code, a corresponding value is assigned to the editor's edit value. Conversely, when the editor's edit value is modified, the corresponding check state is enabled. For instance, when you assign false to the CheckEdit.EditValue property in a standalone editor, the editor switches to the Unchecked state. When an end-user enables the Checked state, the editor's edit value is set to true.

Note

The edit value is typically used for data binding. For standalone editors, it is specified by the CheckEdit.EditValue property. For editors embedded in a Grid Control, the editor's edit value is a cell value.

You can associate custom values with the check states using the ValueChecked, ValueUnchecked, and ValueGrayed properties. In advanced cases, you can implement dynamic conversion from the check states to edit values and vice versa manually, by handling the QueryValueByCheckState and QueryCheckStateByValue events.

Expanded Conversion from Edit Value to Check State

The QueryCheckStateByValue event fires each time the editor's check state is requested (for instance, when reading the CheckEdit.CheckState property, or when calling the GetStateByValue method). In your event handler, set the CheckState event parameter according to the Value event parameter. In addition, set the Handled parameter to true for the CheckState parameter to be in effect once the event handler is complete.

If the Handled parameter is left set to false, the CheckState parameter value will be ignored, and the actual check state will be calculated by comparing the current edit value with the values of the ValueChecked, ValueUnchecked, and ValueGrayed properties.

Expanded Conversion from Check State to Edit Value

The QueryValueByCheckState event allows you to perform the opposite conversion. It fires each time the editor's check state is modified and the edit value is to be updated accordingly. This happens when end-users toggle the check state, when changing the CheckEdit.CheckState property, and when calling the GetValueByState method. In your QueryValueByCheckState event handler, set the Value event parameter according to the CheckState event parameter. In addition, set the Handled parameter to true for the Value parameter to be in effect once the event handler is complete.

If the Handled parameter is left set to false, the Value parameter value will be ignored, and the edit value will be set to the ValueChecked, ValueUnchecked, or ValueGrayed property value (dependent on the current state).

Expanded Example

This example demonstrates how to handle QueryCheckStateByValue and QueryValueByCheckState events in order to use a check editor to display and modify data from the bound data field.

The example assumes that a check editor is bound to a specific dataset field whose type is not obviously known and should be determined programmatically. The available data types that the field can take on are boolean, string and integer. So the field can contain the following combinations representing an option value (these values will be used to set the editor's CheckEdit.EditValue property):

  • True, False - for the boolean type;
  • "Yes", "No", "?" - for the string type;
  • 1, 0, -1 - for the integer type.

It is evident that making use of ValueChecked, ValueUnchecked and ValueGrayed properties is insufficient in this case. Thus, the example requires and implements a custom "edit value -> check state" and "check state -> edit value" conversion logic, which is illustrated by the sample code below.

Expanded See Also

How would you rate this topic?​​​​​​​