'Declaration Public Enum FieldAutoSizeOptions Inherits System.Enum
public enum FieldAutoSizeOptions : System.Enum
Member | Description |
---|---|
All | All elements associated with the field are considered in the size calculation |
DataCells | The cells of data records are included in the size calculation |
FilterCells | The filter cells are included in the size calculation |
Label | The size of the LabelPresenter is included in the size calculation |
None | The field does not support autosizing |
Summaries | The summaries aligned with the field are included in the size calculation |
Imports Infragistics.Windows.DataPresenter Private Sub xamDataGrid1_Initialized(ByVal sender As System.Object, ByVal e As System.EventArgs) Me.InitializeControl(DirectCast(sender, XamDataGrid)) End Sub Private Sub InitializeControl(ByVal grid As XamDataGrid) Dim fl As New FieldLayout() ' As with other properties on FieldSettings you can set ' properties for a specific field layout that apply to ' all fields in that field layout. Dim flSettings As New FieldSettings() ' In this case, when autosizing we want to take into account ' all records whether they are visible or not, in view or ' not. Note, this adds overhead from a memory perspective ' since all records must be loaded and from a processing ' perspective since measuring the elements can take time ' so you should use the default RecordsInView option when ' possible especially when you have more than a small ' # of records. ' flSettings.AutoSizeScope = FieldAutoSizeScope.AllRecords ' The AutoSizeOptions indicates the types of elements that ' you want to measure. In this case we will default to auto ' sizing to the label and data cells only (ignoring filter ' cells and summaries). Usually this will be left to the ' default value of All. flSettings.AutoSizeOptions = FieldAutoSizeOptions.Label Or FieldAutoSizeOptions.DataCells fl.FieldSettings = flSettings ' Auto indicates that the size of the field should grow as ' larger data is encountered (scrolling, adding records, ' editing cell data, etc.). Dim fEmail As New Field() fEmail.Name = "email" fEmail.Width = FieldLength.Auto ' You can set the properties on a per field basis. For this ' field since each record has a unique value and therefore ' we could have lots of different values to measure, we'll ' just auto size to what's in view. Dim fs As New FieldSettings() fs.AutoSizeScope = FieldAutoSizeScope.RecordsInView fEmail.Settings = fs fl.Fields.Add(fEmail) ' InitialAuto indicates that the size of the field should be ' based upon the initial content when the field layout is ' first used. Dim fDept As New Field() fDept.Name = "department" fDept.Width = FieldLength.InitialAuto ' The AutoSizeOptions and Scope are used to determine what to ' measure initially as well as when the user double clicks on ' the field edge. fs = New FieldSettings() fs.AutoSizeScope = FieldAutoSizeScope.AllRecords fs.AutoSizeOptions = FieldAutoSizeOptions.All fDept.Settings = fs fl.Fields.Add(fDept) ' explicit logical pixel width Dim fName As New Field() fName.Name = "name" fName.Width = New FieldLength(150) ' The AutoSizeOptions and AutoSizeScope affect fields that are ' not explicitly autosized as well. They are used to determine ' what is measured when the end-user double clicks on the far ' edge of a field label/cell. fs = New FieldSettings() fs.AutoSizeScope = FieldAutoSizeScope.RecordsInView fName.Settings = fs fl.Fields.Add(fName) Dim uf1 As New UnboundField() uf1.Name = "IsActive" uf1.Width = FieldLength.InitialAuto uf1.DataType = GetType(Boolean) ' If you do use an AutoSizeScope of AllRecords, you still may ' want to set this to RecordsInView for fields where the extent ' of the data doesn't change based on the value (e.g. a ' checkbox field). fs = New FieldSettings() fs.AutoSizeScope = FieldAutoSizeScope.RecordsInView fs.AutoSizeOptions = FieldAutoSizeOptions.All uf1.Settings = fs fl.Fields.Add(uf1) ' add the new field layout we define to the datapresenter grid.FieldLayouts.Add(fl) End Sub
using Infragistics.Windows.DataPresenter; private void xamDataGrid1_Initialized(object sender, EventArgs e) { this.InitializeControl(sender as XamDataGrid); } private void InitializeControl(XamDataGrid grid) { FieldLayout fl = new FieldLayout(); // As with other properties on FieldSettings you can set // properties for a specific field layout that apply to // all fields in that field layout. FieldSettings flSettings = new FieldSettings(); // In this case, when autosizing we want to take into account // all records whether they are visible or not, in view or // not. Note, this adds overhead from a memory perspective // since all records must be loaded and from a processing // perspective since measuring the elements can take time // so you should use the default RecordsInView option when // possible especially when you have more than a small // # of records. // flSettings.AutoSizeScope = FieldAutoSizeScope.AllRecords; // The AutoSizeOptions indicates the types of elements that // you want to measure. In this case we will default to auto // sizing to the label and data cells only (ignoring filter // cells and summaries). Usually this will be left to the // default value of All. flSettings.AutoSizeOptions = FieldAutoSizeOptions.Label | FieldAutoSizeOptions.DataCells; fl.FieldSettings = flSettings; // Auto indicates that the size of the field should grow as // larger data is encountered (scrolling, adding records, // editing cell data, etc.). Field fEmail = new Field(); fEmail.Name = "email"; fEmail.Width = FieldLength.Auto; // You can set the properties on a per field basis. For this // field since each record has a unique value and therefore // we could have lots of different values to measure, we'll // just auto size to what's in view. FieldSettings fs = new FieldSettings(); fs.AutoSizeScope = FieldAutoSizeScope.RecordsInView; fEmail.Settings = fs; fl.Fields.Add(fEmail); // InitialAuto indicates that the size of the field should be // based upon the initial content when the field layout is // first used. Field fDept = new Field(); fDept.Name = "department"; fDept.Width = FieldLength.InitialAuto; // The AutoSizeOptions and Scope are used to determine what to // measure initially as well as when the user double clicks on // the field edge. fs = new FieldSettings(); fs.AutoSizeScope = FieldAutoSizeScope.AllRecords; fs.AutoSizeOptions = FieldAutoSizeOptions.All; fDept.Settings = fs; fl.Fields.Add(fDept); // explicit logical pixel width Field fName = new Field(); fName.Name = "name"; fName.Width = new FieldLength(150); // The AutoSizeOptions and AutoSizeScope affect fields that are // not explicitly autosized as well. They are used to determine // what is measured when the end-user double clicks on the far // edge of a field label/cell. fs = new FieldSettings(); fs.AutoSizeScope = FieldAutoSizeScope.RecordsInView; fName.Settings = fs; fl.Fields.Add(fName); UnboundField uf1 = new UnboundField(); uf1.Name = "IsActive"; uf1.Width = FieldLength.InitialAuto; uf1.DataType = typeof(bool); // If you do use an AutoSizeScope of AllRecords, you still may // want to set this to RecordsInView for fields where the extent // of the data doesn't change based on the value (e.g. a // checkbox field). fs = new FieldSettings(); fs.AutoSizeScope = FieldAutoSizeScope.RecordsInView; fs.AutoSizeOptions = FieldAutoSizeOptions.All; uf1.Settings = fs; fl.Fields.Add(uf1); // add the new field layout we define to the datapresenter grid.FieldLayouts.Add(fl); }
Target Platforms: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Server 2012, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2