Skip to main content
All docs
V25.1
  • TablePanelEntityStyle Enum

    Enumerates size types for rows and columns in the TablePanel.

    Namespace: DevExpress.Utils.Layout

    Assembly: DevExpress.Utils.v25.1.dll

    NuGet Packages: DevExpress.Utils, DevExpress.Wpf.Core

    Declaration

    public enum TablePanelEntityStyle

    Members

    Name Description
    AutoSize

    Rows/columns are automatically resized to match their contents. Width and Height settings of these columns/rows are ignored.

    The AutoSizeDefaultTableElementLength property specifies the size for empty rows/columns of this type.

    You can also enable the TablePanel’s AutoSize property to automatically resize the panel to fit its contents.

    Absolute

    A row/column has a fixed width/height, in pixels. If the last row/column is of the Absolute size type and the TableLayout provides more space than needed, the row/column is stretched to fit this space.

    Relative

    Rows/columns of this size type divide the available space according to the ratio specified by their sizes. When you enable the TablePanel’s AutoSize setting, Relative mode is equivalent to AutoSize mode.

    Separator

    Rows and columns of this style serve as visual delimiters between their neighboring rows and columns. Separators cannot be resized and ignore their TablePanelColumn.Width and TablePanelRow.Height properties.

    Related API Members

    The following properties accept/return TablePanelEntityStyle values:

    Remarks

    Use the Style property to specify the size type for a row/column in the TablePanel.

    tablePanel1.Rows[1].Style = DevExpress.Utils.Layout.TablePanelEntityStyle.Absolute;
    tablePanel1.Rows[1].Height = 50;
    

    The TablePanel may contain rows and columns of different size types simultaneously. In this case, available space is distributed between rows and columns in the following order.

    • First, space is allocated for rows/columns of the Absolute type.
    • Second, space is allocated for rows/columns of the AutoSize type.
    • Finally, the remaining space is distributed among rows/columns of the Relative type.

    Example

    The following code snippet does the following:

    • Adds rows and columns to a TablePanel
    • Displays a button in the top-left cell.

    WinForms TablePanel, DevExpress

    using DevExpress.Utils.Layout;
    using DevExpress.XtraEditors;
    using System.Windows.Forms;
    
    namespace DXTablePanelDemo {
        public partial class Form1 : XtraForm
        {
            TablePanel tablePanel1;
            LabelControl labelControl1;
            public Form1()
            {
                InitializeComponent();
    
                // Create and configure a TablePanel.
                tablePanel1 = new TablePanel()
                {
                    Name = "tablePanel1",
                    Dock = DockStyle.Fill,
                    ShowGrid = DevExpress.Utils.DefaultBoolean.True
                };
    
                // Add 3 columns.
                tablePanel1.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.AutoSize, 0));   // Adjusts the column width to cell content. 
                tablePanel1.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 1));   // Takes 1 share of the remaining space.
                tablePanel1.Columns.Add(new TablePanelColumn(TablePanelEntityStyle.Relative, 2));   // Takes 2 shares of the remaining space.
    
                // Add 3 rows.
                tablePanel1.Rows.Add(new TablePanelRow(TablePanelEntityStyle.AutoSize, 0)); // Adjusts the row height to cell content.
                tablePanel1.Rows.Add(new TablePanelRow(TablePanelEntityStyle.Relative, 1)); // Takes 1 share of the remaining height.
                tablePanel1.Rows.Add(new TablePanelRow(TablePanelEntityStyle.Absolute, 60)); // Fixed height = 60 pixels.
    
                // Access the third row and modify its height.
                tablePanel1.Rows[0].Height = 80;
    
                labelControl1 = new LabelControl() { Text = "Cell [0; 0]" };
                tablePanel1.Controls.Add(labelControl1);
    
                // Display the labelControl1 in the top left cell.
                tablePanel1.SetCell(labelControl1, 0, 0);
    
                Controls.Add(tablePanel1);
            }
        }
    }
    
    See Also