How to set fixed column widths

4 posts, 0 answers
  1. jlj30
    jlj30 avatar
    101 posts
    Member since:
    Jan 2011

    Posted 30 Nov 2012 Link to this post

    Hi,

    I am liking this new control, but I have one challenge.
    My data has a variable number of columns returned.
    I would like to set the column widths (beyond the 1st one) to a fixed size.
    However, the column widths appear to be adjusted to fill up the available space.

    Any thoughts?

    Jim

    <telerik:RadPivotGrid ID="grdRACI" runat="server" AllowFiltering="False" DataSourceID="sqlRACI" ClientSettings-Scrolling-AllowVerticalScroll="false"
                            TotalsSettings-GrandTotalsVisibility="None" Skin="Vista" AggregatesLevel="-1" ColumnHeaderCellStyle-Width="100px" RowHeaderCellStyle-Width="400px"
                            AggregatesPosition="Columns" OnCellDataBound="grdRACI_CellDataBound" IsFilterCommandInProgress="False" DataCellStyle-Width="100px" RowHeaderTableLayout="Fixed" ColumnHeaderTableLayout="Fixed"
                            ShowColumnHeaderZone="False" ShowDataHeaderZone="False" ShowFilterHeaderZone="False">
                            <Fields>
                                <telerik:PivotGridRowField DataField="Task" UniqueName="column">
                                </telerik:PivotGridRowField>
                                <telerik:PivotGridColumnField DataField="RoleName" UniqueName="column1">
                                </telerik:PivotGridColumnField>
                                <telerik:PivotGridAggregateField DataField="RACI" Aggregate="Max" GrandTotalAggregateFormatString=""
                                    UniqueName="column2">
                                </telerik:PivotGridAggregateField>
                            </Fields>
                            <TotalsSettings GrandTotalsVisibility="None" />
                            <ConfigurationPanelSettings Position="FieldsWindow" />
                        </telerik:RadPivotGrid>
     
        protected void grdRACI_CellDataBound(object sender, PivotGridCellDataBoundEventArgs e)
        {
            if (e.Cell is PivotGridColumnHeaderCell)
            {
                PivotGridColumnHeaderCell cell = e.Cell as PivotGridColumnHeaderCell;
                cell.HorizontalAlign = HorizontalAlign.Center;
                cell.Wrap = true;
            }
     
            if (e.Cell is PivotGridDataCell)
            {
                Color CFFD_Highlight = Color.Beige;
     
                PivotGridDataCell dataCell = e.Cell as PivotGridDataCell;
                if (dataCell != null)
                {
                    switch (dataCell.Text)
                    {
                        case ("1"):
                            dataCell.Text = "R";
                            break;
                        case ("2"):
                            dataCell.Text = "A";
                            break;
                        case ("3"):
                            dataCell.Text = "C";
                            break;
                        case ("4"):
                            dataCell.Text = "I";
                            break;
                        case ("5"):
                            dataCell.Text = "R/A";
                            break;
                        case ("10"):
                            dataCell.Text = "R";
                            dataCell.BackColor = CFFD_Highlight;
                            break;
                        case ("20"):
                            dataCell.Text = "A";
                            dataCell.BackColor = CFFD_Highlight;
                            break;
                        case ("30"):
                            dataCell.Text = "C";
                            dataCell.BackColor = CFFD_Highlight;
                            break;
                        case ("40"):
                            dataCell.Text = "I";
                            dataCell.BackColor = CFFD_Highlight;
                            break;
                        case ("50"):
                            dataCell.Text = "R/A";
                            dataCell.BackColor = CFFD_Highlight;
                            break;
                    }
                    dataCell.HorizontalAlign = HorizontalAlign.Center;
                }
            }
        }
  2. Antonio Stoilkov
    Admin
    Antonio Stoilkov avatar
    530 posts

    Posted 05 Dec 2012 Link to this post

    Hello Jim,

    In order to achieve your scenario you could set the RadPivotGrid.ColumHeaderCellStyle which will force the column cells to be with the specified width.
    <ColumnHeaderCellStyle Width="50px" />


    Kind regards,
    Antonio Stoilkov
    the Telerik team
    If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
  3. UI for ASP.NET Ajax is Ready for VS 2017
  4. jlj30
    jlj30 avatar
    101 posts
    Member since:
    Jan 2011

    Posted 05 Dec 2012 Link to this post

    Hi,

    Your suggestion did not work.
    What I see (and I thought I used to be able to provide attachments in these forums) is the following:
    • The "content' of each column appears to be the requested width and is centered horizontally (per my code behind), but
    • The "content" is placed within the left side of a much wider column

    In other words, the columns appear to have their widths adjusted to fill up the width of my screen.

    Here's my grid declaration now:

    <telerik:RadPivotGrid ID="grdRACI" runat="server" AllowFiltering="False" DataSourceID="sqlRACI"
                                ClientSettings-Scrolling-AllowVerticalScroll="false" TotalsSettings-GrandTotalsVisibility="None"
                                Skin="Vista" AggregatesLevel="-1" AggregatesPosition="Columns" OnCellDataBound="grdRACI_CellDataBound"
                                IsFilterCommandInProgress="False" ShowColumnHeaderZone="False" ShowDataHeaderZone="False"
                                ShowFilterHeaderZone="False" ClientSettings-Scrolling-ScrollHeight="600">
                                <Fields>
                                    <telerik:PivotGridRowField DataField="Task" UniqueName="column">
                                    </telerik:PivotGridRowField>
                                    <telerik:PivotGridColumnField DataField="RoleName" UniqueName="column1">
                                    </telerik:PivotGridColumnField>
                                    <telerik:PivotGridAggregateField DataField="RACI" Aggregate="Max" GrandTotalAggregateFormatString=""
                                        UniqueName="column2">
                                    </telerik:PivotGridAggregateField>
                                </Fields>
                                <TotalsSettings GrandTotalsVisibility="None" />
                                <ConfigurationPanelSettings Position="FieldsWindow" />
                                <DataCellStyle Width="100px" />
                                <ColumnHeaderCellStyle Width="100px" />
                                <RowHeaderCellStyle Width="350px" />
                            </telerik:RadPivotGrid>

    The RowHeaderCellStyle appears to be working as desired.

    Any ideas on what to try next?

    Thanks

    Jim

  5. Antonio Stoilkov
    Admin
    Antonio Stoilkov avatar
    530 posts

    Posted 07 Dec 2012 Link to this post

    Hello Jim,

    Based on your description it is hard to determine the cause of the issue. You could try the RowHeaderTableLayout property and change its value. Additionally, you could take a look at the demo below and try different RowTableLayouts.

    If you issue still persists you could open a formal ticket uploading a sample project showing the unwanted behavior so we could be able to investigate it and advise you with the best possible solution.

    Regards,
    Antonio Stoilkov
    the Telerik team
    If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
Back to Top