Been struggling for some time, have tried support, but not getting a clear answer for what I think is a pretty common scenario. The typical response I get is that at least one element needs to have a fixed height in order to use 100% hieght.
Just looking to make a UI that scales with the browser using Telerik controls. Things work ok with individual controls, things work fine, if you combine controls, then things go bad.
So here is the basic example to start where there is a splitter, tool bar, grid, tab strip and multipage.
Having just a splitter with grids with 100% height works great. Then you want to add some tabs or toolbars, and now the grids cannot calculate 100% height properly (does not account for other control height).
Any recommendations on how to use these controls to properly scale with the browser?
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Test.aspx.vb" Inherits="SS.Test" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<
head
id
=
"Head1"
runat
=
"server"
>
<
title
>FullWindow</
title
>
<
style
type
=
"text/css"
>
html, body, form
{
height: 100%;
margin: 0px;
padding: 0px;
overflow: hidden;
}
</
style
>
</
head
>
<
body
>
<
telerik:RadScriptBlock
runat
=
"server"
>
<
script
type
=
"text/javascript"
>
</
script
>
</
telerik:RadScriptBlock
>
<
form
id
=
"form1"
runat
=
"server"
>
<
telerik:RadScriptManager
ID
=
"sc1"
runat
=
"server"
ScriptMode
=
"Release"
>
</
telerik:RadScriptManager
>
<
telerik:RadAjaxManager
ID
=
"ram1"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"grid1"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadGrid1"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadGrid2"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadGrid3"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
telerik:RadSplitter
ID
=
"RadSplitter1"
runat
=
"server"
Height
=
"100%"
Width
=
"100%"
Orientation
=
"Horizontal"
PanesBorderSize
=
"0"
BorderSize
=
"0"
>
<
telerik:RadPane
ID
=
"topPane"
runat
=
"server"
Scrolling
=
"None"
>
<
telerik:RadToolBar
ID
=
"toolbar1"
runat
=
"server"
Width
=
"100%"
>
<
Items
>
<
telerik:RadToolBarButton
Text
=
"command 1"
>
</
telerik:RadToolBarButton
>
<
telerik:RadToolBarButton
Text
=
"command 2"
>
</
telerik:RadToolBarButton
>
<
telerik:RadToolBarButton
Text
=
"command 3"
>
</
telerik:RadToolBarButton
>
</
Items
>
</
telerik:RadToolBar
>
<
telerik:RadGrid
ID
=
"grid1"
Width
=
"100%"
Height
=
"100%"
runat
=
"server"
>
<
ClientSettings
Selecting-AllowRowSelect
=
"true"
EnablePostBackOnRowClick
=
"true"
Scrolling-AllowScroll
=
"true"
Scrolling-UseStaticHeaders
=
"true"
>
</
ClientSettings
>
</
telerik:RadGrid
>
</
telerik:RadPane
>
<
telerik:RadSplitBar
runat
=
"server"
>
</
telerik:RadSplitBar
>
<
telerik:RadPane
ID
=
"bottomPane"
runat
=
"server"
Scrolling
=
"None"
>
<
telerik:RadTabStrip
ID
=
"tab1"
runat
=
"server"
MultiPageID
=
"mp1"
>
<
Tabs
>
<
telerik:RadTab
Text
=
"Tab 1"
Selected
=
"true"
>
</
telerik:RadTab
>
<
telerik:RadTab
Text
=
"Tab 2"
>
</
telerik:RadTab
>
<
telerik:RadTab
Text
=
"Tab 3"
>
</
telerik:RadTab
>
</
Tabs
>
</
telerik:RadTabStrip
>
<
telerik:RadMultiPage
ID
=
"mp1"
runat
=
"server"
SelectedIndex
=
"0"
>
<
telerik:RadPageView
ID
=
"RadPageView1"
runat
=
"server"
>
<
telerik:RadGrid
ID
=
"RadGrid1"
Width
=
"100%"
Height
=
"100%"
runat
=
"server"
>
<
ClientSettings
Scrolling-AllowScroll
=
"true"
Scrolling-UseStaticHeaders
=
"true"
>
</
ClientSettings
>
</
telerik:RadGrid
>
</
telerik:RadPageView
>
<
telerik:RadPageView
ID
=
"RadPageView2"
runat
=
"server"
>
<
telerik:RadGrid
ID
=
"RadGrid2"
Width
=
"100%"
Height
=
"100%"
runat
=
"server"
>
<
ClientSettings
Scrolling-AllowScroll
=
"true"
Scrolling-UseStaticHeaders
=
"true"
>
</
ClientSettings
>
</
telerik:RadGrid
>
</
telerik:RadPageView
>
<
telerik:RadPageView
ID
=
"RadPageView3"
runat
=
"server"
>
<
telerik:RadGrid
ID
=
"RadGrid3"
Width
=
"100%"
Height
=
"100%"
runat
=
"server"
>
<
ClientSettings
Scrolling-AllowScroll
=
"true"
Scrolling-UseStaticHeaders
=
"true"
>
</
ClientSettings
>
</
telerik:RadGrid
>
</
telerik:RadPageView
>
</
telerik:RadMultiPage
>
</
telerik:RadPane
>
</
telerik:RadSplitter
>
</
form
>
</
body
>
</
html
>
Imports
System.Data.SqlClient
Public
Class
Test
Inherits
System.Web.UI.Page
Protected
Sub
Page_Load(
ByVal
sender
As
Object
,
ByVal
e
As
System.EventArgs)
Handles
Me
.Load
If
IsPostBack =
False
Then
Dim
dt
As
New
DataTable
dt.Columns.Add(
"Data"
)
Dim
row
As
DataRow
For
i = 1
To
100
row = dt.NewRow
row(
"Data"
) = i
dt.Rows.Add(row)
Next
grid1.DataSource = dt
grid1.DataBind()
End
If
End
Sub
Private
Sub
grid1_SelectedIndexChanged(
ByVal
sender
As
Object
,
ByVal
e
As
System.EventArgs)
Handles
grid1.SelectedIndexChanged
Dim
dt
As
New
DataTable
dt.Columns.Add(
"Data"
)
Dim
row
As
DataRow
For
i = 200
To
300
row = dt.NewRow
row(
"Data"
) = i
dt.Rows.Add(row)
Next
RadGrid1.DataSource = dt
RadGrid1.DataBind()
dt =
New
DataTable
dt.Columns.Add(
"Data"
)
For
i = 300
To
400
row = dt.NewRow
row(
"Data"
) = i
dt.Rows.Add(row)
Next
RadGrid2.DataSource = dt
RadGrid2.DataBind()
dt =
New
DataTable
dt.Columns.Add(
"Data"
)
For
i = 400
To
500
row = dt.NewRow
row(
"Data"
) = i
dt.Rows.Add(row)
Next
RadGrid3.DataSource = dt
RadGrid3.DataBind()
End
Sub
End
Class