<telerik:RadGrid ID="RadGridAnuidades" ValidationSettings-ValidationGroup="grid" runat="server" OnDataBound="RadGridAnuidades_DataBound" CellSpacing="0" GridLines="None" AllowAutomaticUpdates="True" DataSourceID="SqlDataSourceUpdateAnuidades" OnNeedDataSource="RadGridAnuidades_NeedDataSource"> <ValidationSettings ValidationGroup="grid"></ValidationSettings> <MasterTableView AutoGenerateColumns="False" DataKeyNames="CódigoSócio,Ano" EditMode="InPlace" DataSourceID="SqlDataSourceUpdateAnuidades"> <CommandItemSettings ExportToPdfText="Export to PDF"></CommandItemSettings> <Columns> <telerik:GridBoundColumn DataField="CódigoSócio" Visible="false" DataType="System.Int32" FilterControlAltText="Filter CódigoSócio column" HeaderText="CódigoSócio" ReadOnly="True" SortExpression="CódigoSócio" UniqueName="CódigoSócio"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn DataField="Valor" DataType="System.Decimal" FilterControlAltText="Filter Valor column" HeaderText="Valor" SortExpression="Valor" UniqueName="Valor"> <EditItemTemplate> <telerik:RadNumericTextBox ID="RadNumericTextBoxValor" runat="server" Type="Currency" Culture="pt-BR" Text='<%# Bind("Valor") %>'> <NumberFormat GroupSeparator="." DecimalSeparator="," /> </telerik:RadNumericTextBox> <asp:RequiredFieldValidator ValidationGroup="grid" ID="requiredfieldvalidatorValor" runat="server" ControlToValidate="RadNumericTextBoxValor" CssClass="failureNotification" ErrorMessage=" *"> </asp:RequiredFieldValidator> </EditItemTemplate> <ItemTemplate> <asp:Label ID="ValorLabel" runat="server" Text='<%# Bind("Valor", "{0:C2}") %>'></asp:Label> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="EditCommandColumn"> <ItemStyle CssClass="MyImageButton" /> </telerik:GridEditCommandColumn> </Columns> </MasterTableView> </telerik:RadGrid>
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); } How could I set the focus to this field when the grid goes into InPlace edit mode? I tried
catching it in the ItemCreated event per some samples for EditForms, but I couldn't catch
it. Nothing I tried worked...
<telerik:GridTemplateColumn HeaderText="Awarded" SortExpression="Awarded" UniqueName="Awarded" ForceExtractValue="Always"> <ItemTemplate> <asp:Label runat="server" ID="Awarded" Text='<%# Eval("Awarded", "{0:N0}")%>'></asp:Label> </ItemTemplate> <EditItemTemplate> <telerik:RadNumericTextBox ID="AwardedTextBox" runat="server" MaxLength="7" MaxValue="999999" MinValue="0000" Width="90px" NumberFormat-DecimalDigits="0" NumberFormat-GroupSeparator="," Text='<%# Bind("Awarded") %>' /> </EditItemTemplate> <HeaderStyle Width="90px" HorizontalAlign="Center" /> <ItemStyle HorizontalAlign="Right" />
</telerik:GridTemplateColumn><telerik:RadToolTipManager ID="RadToolTipManager1" runat="server" HideEvent="ManualClose" ManualClose="True" Modal="true" ShowCallout="False" ShowEvent="OnClick" Position="Center" OnAjaxUpdate="RadToolTipManager1_AjaxUpdate" ShowDelay="0" RelativeTo="BrowserWindow" Height="400" Width="550" CssClass="ToolTip"> </telerik:RadToolTipManager><telerik:RadDatePicker ID="datePicker" runat="server" ShowPopupOnFocus="True" ZIndex="10000"></telerik:RadDatePicker>