Hi Telerik Team,
We have a requirement that the grid should fit in the page in such a way that the
browser scrollbars should not appear.
We are dynamically creating the grid (i.e. programmatically in the code behind function DefineGridAttributes() (refer original function below),
(refer the attachments screenshot_1.jpg, screenshot_2.jpg)
This grid is being added into the placeholder control.
<! -- ASPX -- >
<telerik:RadAjaxPanel runat="server" ID="RadAjaxPanel">
<div>
<asp:PlaceHolder ID="plcHolderGridControl" runat="server"></asp:PlaceHolder>
</div>
</telerik:RadAjaxPanel>
Then,in order to achieve the above requirement, we used the following properties and we were able to
succesfully fit the grid (width + height) in the page. (Refer attachments, screenshot_3.jpg and refer modified function below)
//-- setting width to the rad grid --
grid.Width = Unit.Percentage(97);
grid.ClientSettings.Scrolling.ScrollHeight = Unit.Percentage(100);//changed from fixed pixel to percentage
But, when we do a sort on the grid column, then the grid spills outside the border. (Please refer screenshot_4.jpg)
Also, if we move the grid scrollbars, then browser scrollbars appear. (Please refer screenshot_5.jpg )
Before applying these two properties (grid.Width and grid.ClientSettings.Scrolling.ScrollHeight),
everything was working fine.
Can anyone please suggest, if we could try something here?
(also the solution should take care of the monitor resolution)
Regards,
CSW Support
-----------------------------------------------
// -- Original function --
// this function DefineGridAttributes defines the attributes of a dynamically build grid.
private
void
DefineGridAttributes(RadGrid grid)
{
// Grid General Setting
grid.ID =
"RadGrid1"
;
//-- setting width to the rad grid --
//grid.Width = Unit.Percentage(97);
//grid.Height = Unit.Percentage(100);
//grid.Skin = "Office2007";
grid.AllowMultiRowSelection =
true
;
grid.AutoGenerateColumns =
false
;
grid.AllowPaging =
true
;
grid.AllowCustomPaging =
true
;
grid.PagerStyle.Mode = GridPagerMode.NextPrevAndNumeric;
grid.AllowSorting =
true
;
grid.ShowGroupPanel =
true
;
grid.ShowFooter =
true
;
grid.PageSize = Convert.ToInt32(GeneralCode.sPageSize);
grid.PagerStyle.Position = GridPagerPosition.Top;
grid.BorderWidth = Unit.Pixel(1);
grid.GridLines = GridLines.None;
// Grid grouping and exporting Setting
grid.GroupingSettings.ShowUnGroupButton =
true
;
grid.ExportSettings.HideStructureColumns =
true
;
// Added for Export To Excel
grid.ExportSettings.OpenInNewWindow =
true
;
grid.ExportSettings.ExportOnlyData =
true
;
grid.ExportSettings.IgnorePaging =
true
;
//--------
grid.ExportSettings.Pdf.PageBottomMargin = Unit.Pixel(Convert.ToInt32(0.25));
grid.ExportSettings.Pdf.PageFooterMargin = Unit.Pixel(Convert.ToInt32(0.25));
grid.ExportSettings.Pdf.PageHeaderMargin = Unit.Pixel(Convert.ToInt32(0.25));
grid.ExportSettings.Pdf.PageLeftMargin = Unit.Pixel(Convert.ToInt32(0.25));
grid.ExportSettings.Pdf.PageRightMargin = Unit.Pixel(Convert.ToInt32(0.25));
grid.ExportSettings.Pdf.PageTopMargin = Unit.Pixel(Convert.ToInt32(0.25));
grid.ExportSettings.Pdf.PaperSize = GridPaperSize.A4;
grid.ExportSettings.Pdf.FontType = Telerik.Web.Apoc.Render.Pdf.FontType.Subset;
//grid.ExportSettings.Csv.ColumnDelimiter = GridCsvDelimiter.Semicolon;
//grid.ExportSettings.Csv.EncloseDataWithQuotes = false;
grid.ExportSettings.FileName =
"CustomReport"
;
// Grid client Setting
if
(bAllowedCellReorderResizing())
{
grid.ClientSettings.AllowColumnsReorder =
true
;
grid.ClientSettings.AllowDragToGroup =
true
;
grid.ClientSettings.ReorderColumnsOnClient =
true
;
grid.ClientSettings.Resizing.AllowColumnResize =
true
;
grid.ClientSettings.Resizing.ResizeGridOnColumnResize =
false
;
grid.ClientSettings.Resizing.EnableRealTimeResize =
false
;
}
grid.ClientSettings.Selecting.AllowRowSelect =
true
;
grid.ClientSettings.Selecting.EnableDragToSelectRows =
true
;
grid.ClientSettings.Scrolling.AllowScroll =
true
;
grid.ClientSettings.Scrolling.UseStaticHeaders =
true
;
grid.ClientSettings.Scrolling.ScrollHeight = Unit.Pixel(600);
//grid.ClientSettings.Scrolling.ScrollHeight = Unit.Percentage(97);
//grid.ClientSettings.Scrolling.ScrollBarWidth = Unit.Percentage(97);
grid.ClientSettings.EnableAlternatingItems =
true
;
grid.ClientSettings.ClientEvents.OnRowContextMenu =
"RowContextMenu"
;
//grid.ClientSettings.ClientEvents.OnRowSelected = "OnRowSelected";
grid.ClientSettings.ClientEvents.OnGridCreated =
"OnGridCreated"
;
// Grid mastertableview Setting
grid.MasterTableView.EnableHeaderContextMenu =
false
;
grid.MasterTableView.ShowGroupFooter =
true
;
grid.MasterTableView.CommandItemDisplay = GridCommandItemDisplay.Top;
grid.MasterTableView.TableLayout = GridTableLayout.Auto;
grid.MasterTableView.AllowMultiColumnSorting =
true
;
grid.MasterTableView.CommandItemSettings.ShowExportToCsvButton =
true
;
grid.MasterTableView.CommandItemSettings.ShowExportToExcelButton =
true
;
grid.MasterTableView.CommandItemSettings.ShowExportToPdfButton =
false
;
grid.MasterTableView.CommandItemSettings.ShowExportToWordButton =
true
;
grid.MasterTableView.CommandItemSettings.ShowAddNewRecordButton =
false
;
grid.MasterTableView.CommandItemSettings.ShowRefreshButton =
false
;
//grid.MasterTableView.Width = Unit.Percentage(97);
//grid.MasterTableView.Height = Unit.Percentage(100);
}
--------------------------------
// --- Modified Function ---
// this function DefineGridAttributes defines the attributes of a dynamically build grid.
private
void
DefineGridAttributes(RadGrid grid)
{
// Grid General Setting
grid.ID =
"RadGrid1"
;
//-- setting width to the rad grid --
grid.Width = Unit.Percentage(97);
//grid.Height = Unit.Percentage(100);
//grid.Skin = "Office2007";
grid.AllowMultiRowSelection =
true
;
grid.AutoGenerateColumns =
false
;
grid.AllowPaging =
true
;
grid.AllowCustomPaging =
true
;
grid.PagerStyle.Mode = GridPagerMode.NextPrevAndNumeric;
grid.AllowSorting =
true
;
grid.ShowGroupPanel =
true
;
grid.ShowFooter =
true
;
grid.PageSize = Convert.ToInt32(GeneralCode.sPageSize);
grid.PagerStyle.Position = GridPagerPosition.Top;
grid.BorderWidth = Unit.Pixel(1);
grid.GridLines = GridLines.None;
// Grid grouping and exporting Setting
grid.GroupingSettings.ShowUnGroupButton =
true
;
grid.ExportSettings.HideStructureColumns =
true
;
// Added for Export To Excel
grid.ExportSettings.OpenInNewWindow =
true
;
grid.ExportSettings.ExportOnlyData =
true
;
grid.ExportSettings.IgnorePaging =
true
;
//--------
grid.ExportSettings.Pdf.PageBottomMargin = Unit.Pixel(Convert.ToInt32(0.25));
grid.ExportSettings.Pdf.PageFooterMargin = Unit.Pixel(Convert.ToInt32(0.25));
grid.ExportSettings.Pdf.PageHeaderMargin = Unit.Pixel(Convert.ToInt32(0.25));
grid.ExportSettings.Pdf.PageLeftMargin = Unit.Pixel(Convert.ToInt32(0.25));
grid.ExportSettings.Pdf.PageRightMargin = Unit.Pixel(Convert.ToInt32(0.25));
grid.ExportSettings.Pdf.PageTopMargin = Unit.Pixel(Convert.ToInt32(0.25));
grid.ExportSettings.Pdf.PaperSize = GridPaperSize.A4;
grid.ExportSettings.Pdf.FontType = Telerik.Web.Apoc.Render.Pdf.FontType.Subset;
//grid.ExportSettings.Csv.ColumnDelimiter = GridCsvDelimiter.Semicolon;
//grid.ExportSettings.Csv.EncloseDataWithQuotes = false;
grid.ExportSettings.FileName =
"CustomReport"
;
// Grid client Setting
if
(bAllowedCellReorderResizing())
{
grid.ClientSettings.AllowColumnsReorder =
true
;
grid.ClientSettings.AllowDragToGroup =
true
;
grid.ClientSettings.ReorderColumnsOnClient =
true
;
grid.ClientSettings.Resizing.AllowColumnResize =
true
;
grid.ClientSettings.Resizing.ResizeGridOnColumnResize =
false
;
grid.ClientSettings.Resizing.EnableRealTimeResize =
false
;
}
grid.ClientSettings.Selecting.AllowRowSelect =
true
;
grid.ClientSettings.Selecting.EnableDragToSelectRows =
true
;
grid.ClientSettings.Scrolling.AllowScroll =
true
;
grid.ClientSettings.Scrolling.UseStaticHeaders =
true
;
//grid.ClientSettings.Scrolling.ScrollHeight = Unit.Pixel(600);
grid.ClientSettings.Scrolling.ScrollHeight = Unit.Percentage(97);
//grid.ClientSettings.Scrolling.ScrollBarWidth = Unit.Percentage(97);
grid.ClientSettings.EnableAlternatingItems =
true
;
grid.ClientSettings.ClientEvents.OnRowContextMenu =
"RowContextMenu"
;
//grid.ClientSettings.ClientEvents.OnRowSelected = "OnRowSelected";
grid.ClientSettings.ClientEvents.OnGridCreated =
"OnGridCreated"
;
// Grid mastertableview Setting
grid.MasterTableView.EnableHeaderContextMenu =
false
;
grid.MasterTableView.ShowGroupFooter =
true
;
grid.MasterTableView.CommandItemDisplay = GridCommandItemDisplay.Top;
grid.MasterTableView.TableLayout = GridTableLayout.Auto;
grid.MasterTableView.AllowMultiColumnSorting =
true
;
grid.MasterTableView.CommandItemSettings.ShowExportToCsvButton =
true
;
grid.MasterTableView.CommandItemSettings.ShowExportToExcelButton =
true
;
grid.MasterTableView.CommandItemSettings.ShowExportToPdfButton =
false
;
grid.MasterTableView.CommandItemSettings.ShowExportToWordButton =
true
;
grid.MasterTableView.CommandItemSettings.ShowAddNewRecordButton =
false
;
grid.MasterTableView.CommandItemSettings.ShowRefreshButton =
false
;
//grid.MasterTableView.Width = Unit.Percentage(97);
//grid.MasterTableView.Height = Unit.Percentage(100);
}