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
   [Expand]RepositoryItemCheckEdit Class
   [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
   [Collapse]RepositoryItemLookUpEdit Class
     RepositoryItemLookUpEdit Members
     RepositoryItemLookUpEdit Constructor
    [Expand]RepositoryItemLookUpEdit Properties
    [Expand]RepositoryItemLookUpEdit Events
    [Collapse]RepositoryItemLookUpEdit Methods
      Assign Method
      BestFit Method
      ForceInitialize Method
      GetDataSourceRowByDisplayValue Method
      GetDataSourceRowByKeyValue Method
      GetDataSourceRowByMultipleKeyValues Method
     [Expand]GetDataSourceRowIndex Method
     [Expand]GetDataSourceValue Method
     [Expand]GetDisplayText Method
      GetDisplayValueByKeyValue Method
      GetDisplayValueByMultipleKeyValues Method
      GetKeyValueByDisplayText Method
      GetKeyValueByDisplayValue Method
      GetListSourceIndex Method
      MeasureColumn Method
      PopulateColumns Method
   [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

RepositoryItemLookUpEdit.MeasureColumn Method

Returns the width of the widest column value in pixels (taking the column's caption into account).

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

Expanded Syntax

Parameters

g
Type: Graphics
The graphics surface.
column
Type: LookUpColumnInfo
The column being processed.

Return value

Type: Int32
The a column width.

Expanded Remarks

The method loops through column values and returns the width, in pixels, of the widest string. It also measures the width of the column's caption and returns the greater of the two values. The column being processed is determined by the column parameter.

MeasureColumn is called from the BestFit method, which sets the widths of all the columns according to their contents.

A value returned by MeasureColumn can be assigned to the column's LookUpColumnInfo.Width property. The total width of the dropdown window is specified by PopupWidth.

The System.Drawing.Graphics object for the method can be obtained via the System.Windows.Forms.Control.CreateGraphics method.

Expanded Example

The following example shows how to use the MeasureColumn method to support best-fit functionality for columns in a lookup editor. However, note that this functionality can also be implemented by using a single RepositoryItemLookUpEditBase.BestFitMode property. The following example is for demonstration purposes only.

In the code the MeasureColumn method is invoked for all columns in a lookup editor. The calculated width is then assigned to the LookUpColumnInfo.Width property. After all columns are processed, the sum of calculated widths is assigned to PopupWidth. This ensures that all columns have widths sufficient to display all values in their entirety.

We need to take into account the width of the vertical scroll bar which would appear if the number of rows in the data source is greater than the DropDownRows property value. We must also add the width of the shadow and borders (4 pixels).

Expanded See Also

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