or
<
telerik:RadAutoCompleteBox
ID
=
"OperatorAutoCompleteBox"
runat
=
"server"
DataSourceID
=
"sqlOperatorsLookupList"
DataTextField
=
"Full_Name"
DataValueField
=
"Operator_ID"
Filter
=
"Contains"
InputType
=
"Text"
OnTextChanged
=
"OperatorAutoCompleteBox_SelectedOperatorChanged"
>
<
TextSettings
SelectionMode
=
"Single"
/>
</
telerik:RadAutoCompleteBox
>
If
OperatorAutCompleteBox.Entries.Count > 0
Then
selectedText = OperatorAutoCompleteBox.Entries(0).Text
selectedValue = OperatorAutoCompleteBox.Entries(0).Value
End
If
UploadedFile.SaveAs().
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"rcbPeriods"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadHtmlChart1"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"rgOustanding"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"rcbRegion"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadHtmlChart1"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"rgOustanding"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"rgOustanding"
/>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
telerik:RadAjaxLoadingPanel
ID
=
"RadAjaxLoadingPanel1"
runat
=
"server"
Skin
=
"Default"
>
</
telerik:RadAjaxLoadingPanel
>
<
div
style
=
"width:900px;margin-left:auto; margin-right:auto;"
>
<
table
>
<
tr
>
<
td
style
=
"vertical-align:top;"
>
<
div
style
=
"float: right; width: 570px; border: solid 0px blue;"
>
<
div
class
=
"panels"
>
<
div
class
=
"headersDiv"
>
<
h3
class
=
"headersh3"
>
Dashboard
</
h3
>
</
div
>
<
div
style
=
"margin:10px;"
>
<
p
>
<
strong
>Select Period: </
strong
>
<
telerik:RadComboBox
ID
=
"rcbPeriods"
runat
=
"server"
AutoPostBack
=
"true"
AppendDataBoundItems
=
"true"
DataSourceID
=
"sdsPeriods"
DataTextField
=
"PeriodLongName"
DataValueField
=
"PeriodCode"
>
</
telerik:RadComboBox
>
<
strong
>Select Region: </
strong
>
<
telerik:RadComboBox
ID
=
"rcbRegion"
runat
=
"server"
AutoPostBack
=
"true"
AppendDataBoundItems
=
"true"
DataSourceID
=
"sdsRegion"
DataTextField
=
"Region"
DataValueField
=
"Region"
>
</
telerik:RadComboBox
>
</
p
>
<
asp:SqlDataSource
ID
=
"sdsPeriods"
runat
=
"server"
ConnectionString="<%$ ConnectionStrings:csOHS %>"
SelectCommand="uspSelectFilteredPeriods" SelectCommandType="StoredProcedure">
</
asp:SqlDataSource
>
<
asp:SqlDataSource
ID
=
"sdsRegion"
runat
=
"server"
ConnectionString="<%$ ConnectionStrings:csOHS %>"
SelectCommand="uspSelectRegion" SelectCommandType="StoredProcedure">
</
asp:SqlDataSource
>
<
br
/>
<
telerik:RadHtmlChart
ID
=
"RadHtmlChart1"
runat
=
"server"
DataSourceID
=
"sdsChart"
Width
=
"550px"
Height
=
"500px"
>
<
ChartTitle
Text
=
"12 Month Rolling Totals"
>
<
Appearance
>
<
TextStyle
FontSize
=
"16px"
></
TextStyle
>
</
Appearance
>
</
ChartTitle
>
<
PlotArea
>
<
Series
>
<
telerik:ColumnSeries
DataFieldY
=
"LTINo"
Name
=
"LTI"
>
<
LabelsAppearance
Visible
=
"false"
></
LabelsAppearance
>
</
telerik:ColumnSeries
>
<
telerik:ColumnSeries
DataFieldY
=
"DARTRWI"
Name
=
"DARTRWI"
>
<
LabelsAppearance
Visible
=
"false"
></
LabelsAppearance
>
</
telerik:ColumnSeries
>
<
telerik:ColumnSeries
DataFieldY
=
"MTINo"
Name
=
"MTINo"
>
<
LabelsAppearance
Visible
=
"false"
></
LabelsAppearance
>
</
telerik:ColumnSeries
>
<
telerik:ColumnSeries
DataFieldY
=
"FAINo"
Name
=
"FAINo"
>
<
LabelsAppearance
Visible
=
"false"
></
LabelsAppearance
>
</
telerik:ColumnSeries
>
<
telerik:ColumnSeries
DataFieldY
=
"SI"
Name
=
"SI"
>
<
LabelsAppearance
Visible
=
"false"
></
LabelsAppearance
>
</
telerik:ColumnSeries
>
</
Series
>
<
XAxis
DataLabelsField
=
"SiteName"
>
<
LabelsAppearance
RotationAngle
=
"75"
></
LabelsAppearance
>
</
XAxis
>
</
PlotArea
>
</
telerik:RadHtmlChart
>
<
asp:SqlDataSource
ID
=
"sdsChart"
runat
=
"server"
ConnectionString="<%$ ConnectionStrings:csOHS %>"
SelectCommand="uspChartStats" SelectCommandType="StoredProcedure">
<
SelectParameters
>
<
asp:ControlParameter
ControlID
=
"rcbPeriods"
Name
=
"PeriodCode"
Type
=
"String"
PropertyName
=
"SelectedValue"
/>
<
asp:ControlParameter
ControlID
=
"rcbRegion"
Name
=
"Region"
Type
=
"String"
PropertyName
=
"SelectedValue"
/>
</
SelectParameters
>
</
asp:SqlDataSource
>
</
div
>
</
div
>
</
div
>
</
td
>
<
td
style
=
"vertical-align:top;"
>
<
div
class
=
"panels"
style
=
"width:150px"
>
<
div
class
=
"headersDiv"
>
<
h3
class
=
"headersh3"
>Outstanding Sites</
h3
>
</
div
>
<
div
style
=
"margin:5px;"
>
<
telerik:RadGrid
ID
=
"rgOustanding"
runat
=
"server"
DataSourceID
=
"sdsOutstanding"
EnableAJAX
=
"false"
>
</
telerik:RadGrid
>
<
asp:SqlDataSource
ID
=
"sdsOutstanding"
runat
=
"server"
ConnectionString="<%$ ConnectionStrings:csOHS %>"
SelectCommand="uspScorecardOutstanding" SelectCommandType="StoredProcedure">
<
SelectParameters
>
<
asp:ControlParameter
ControlID
=
"rcbPeriods"
Name
=
"PeriodCode"
Type
=
"String"
PropertyName
=
"SelectedValue"
/>
<
asp:ControlParameter
ControlID
=
"rcbRegion"
Name
=
"Region"
Type
=
"String"
PropertyName
=
"SelectedValue"
/>
</
SelectParameters
>
</
asp:SqlDataSource
>
</
div
>
</
div
>
</
td
>
</
tr
>
</
table
>
</
div
>
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default3.aspx.vb" Inherits="Default3" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<
head
runat
=
"server"
>
<
title
></
title
>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
telerik:RadScriptManager
runat
=
"server"
ID
=
"mgrJS"
>
</
telerik:RadScriptManager
>
<
div
>
<
table
>
<
tr
>
<
td
align
=
"left"
valign
=
"top"
>
<
telerik:RadGrid
runat
=
"server"
ID
=
"dgHeader"
Skin
=
"Web20"
AllowSorting
=
"true"
>
<
ClientSettings
>
<
Scrolling
UseStaticHeaders
=
"True"
/>
</
ClientSettings
>
<
MasterTableView
BorderWidth
=
"1px"
GridLines
=
"Both"
style
=
"border-collapse: collapse !Important;"
Font-Bold
=
"false"
TableLayout
=
"Fixed"
AutoGenerateColumns
=
"false"
ShowHeader
=
"True"
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"N1"
HeaderText
=
"N 1"
UniqueName
=
"N1"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"N2"
HeaderText
=
"N 2"
UniqueName
=
"N2"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"N3"
HeaderText
=
"N 3"
UniqueName
=
"N3"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"C1"
HeaderText
=
"C 1"
UniqueName
=
"C1"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"C2"
HeaderText
=
"C 2"
UniqueName
=
"C2"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"C3"
HeaderText
=
"C 3"
UniqueName
=
"C3"
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
</
td
>
</
tr
>
<
tr
>
<
td
align
=
"left"
valign
=
"top"
>
<
telerik:RadGrid
runat
=
"server"
ID
=
"dgDetail"
Skin
=
"Web20"
AllowSorting
=
"true"
>
<
ClientSettings
>
<
Scrolling
UseStaticHeaders
=
"True"
/>
</
ClientSettings
>
<
MasterTableView
BorderWidth
=
"1px"
GridLines
=
"Both"
style
=
"border-collapse: collapse !Important;"
Font-Bold
=
"false"
TableLayout
=
"Fixed"
AutoGenerateColumns
=
"false"
ShowHeader
=
"False"
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"N1"
HeaderText
=
"N 1"
UniqueName
=
"N1"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"N2"
HeaderText
=
"N 2"
UniqueName
=
"N2"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"N3"
HeaderText
=
"N 3"
UniqueName
=
"N3"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"C1"
HeaderText
=
"C 1"
UniqueName
=
"C1"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"C2"
HeaderText
=
"C 2"
UniqueName
=
"C2"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"C3"
HeaderText
=
"C 3"
UniqueName
=
"C3"
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
</
td
>
</
tr
>
</
table
>
</
div
>
</
form
>
</
body
>
</
html
>
VB
Partial
Class
Default3
Inherits
System.Web.UI.Page
Private
Sub
dg_Init(
ByRef
dg
As
RadGrid,
ByVal
isHeader
As
Boolean
)
With
dg
If
isHeader
Then
For
Each
col
As
GridBoundColumn
In
dg.MasterTableView.Columns
'Need to set width's to 54 in order to line up with dtDetail's columns below
col.HeaderStyle.Width = 54
col.ItemStyle.Width = 54
col.ItemStyle.HorizontalAlign = HorizontalAlign.Right
Next
Else
For
Each
col
As
GridBoundColumn
In
dg.MasterTableView.Columns
col.HeaderStyle.Width = 60
col.ItemStyle.Width = 60
col.ItemStyle.HorizontalAlign = HorizontalAlign.Right
Next
End
If
End
With
End
Sub
Protected
Sub
Page_Init(
ByVal
sender
As
Object
,
ByVal
e
As
System.EventArgs)
Handles
Me
.Init
dg_Init(dgHeader,
True
)
dg_Init(dgDetail,
False
)
End
Sub
Protected
Sub
dgHeader_NeedDataSource(
ByVal
source
As
Object
,
ByVal
e
As
Telerik.Web.UI.GridNeedDataSourceEventArgs)
Handles
dgHeader.NeedDataSource
dgHeader.DataSource = GetHeaderDatasource()
End
Sub
Protected
Sub
dgDetail_NeedDataSource(
ByVal
source
As
Object
,
ByVal
e
As
Telerik.Web.UI.GridNeedDataSourceEventArgs)
Handles
dgDetail.NeedDataSource
dgDetail.DataSource = GetDetailDatasource()
End
Sub
Protected
Sub
dgHeader_PreRender(
ByVal
sender
As
Object
,
ByVal
e
As
System.EventArgs)
Handles
dgHeader.PreRender
Dim
header
As
GridHeaderItem =
DirectCast
(dgHeader.MasterTableView.GetItems(GridItemType.Header)(0), GridHeaderItem)
Dim
head
As
GridTHead =
DirectCast
(header.Parent, GridTHead)
'create a new GridHeaderItem which will be the new row
Dim
newHeaderItem
As
New
GridHeaderItem(dgHeader.MasterTableView, 0, 0)
'add 2 empty table header cells, as there are 2 hidden columns always created in RadGrid
newHeaderItem.Cells.Add(
New
GridTableHeaderCell())
newHeaderItem.Cells.Add(
New
GridTableHeaderCell())
'Add as many header cells as you need with required colspans
newHeaderItem.Cells.Add(
New
GridTableHeaderCell()
With
{.Text =
"Numbers"
, .ColumnSpan = 3})
newHeaderItem.Cells.Add(
New
GridTableHeaderCell()
With
{.Text =
"Characters"
, .ColumnSpan = 3})
head.Controls.AddAt(0, newHeaderItem)
End
Sub
Private
Function
GetHeaderDatasource()
As
DataTable
If
Me
.Session(
"dgHeader_DataSource"
)
Is
Nothing
Then
Dim
dt
As
DataTable = CreateDataTable()
Dim
r
As
DataRow = dt.NewRow
r.ItemArray =
New
Object
() {
"100"
,
"200"
,
"300"
,
"X"
,
"Y"
,
"Z"
}
dt.Rows.Add(r)
Session(
"dgHeader_DataSource"
) = dt
End
If
Return
Session(
"dgHeader_DataSource"
)
End
Function
Private
Function
GetDetailDatasource()
As
DataTable
If
Me
.Session(
"dgDetail_DataSource"
)
Is
Nothing
Then
Dim
dt
As
DataTable = CreateDataTable()
Dim
r
As
DataRow = dt.NewRow
r.ItemArray =
New
Object
() {
"50"
,
"100"
,
"150"
,
"X"
,
"Y"
,
"Z"
}
dt.Rows.Add(r)
r = dt.NewRow
r.ItemArray =
New
Object
() {
"50"
,
"100"
,
"150"
,
"X"
,
"Y"
,
"Z"
}
dt.Rows.Add(r)
Session(
"dgDetail_DataSource"
) = dt
End
If
Return
Session(
"dgDetail_DataSource"
)
End
Function
Private
Function
CreateDataTable()
As
DataTable
Dim
dt
As
New
DataTable
dt.Columns.Add(
"N1"
,
GetType
(
String
))
dt.Columns.Add(
"N2"
,
GetType
(
String
))
dt.Columns.Add(
"N3"
,
GetType
(
String
))
dt.Columns.Add(
"C1"
,
GetType
(
String
))
dt.Columns.Add(
"C2"
,
GetType
(
String
))
dt.Columns.Add(
"C3"
,
GetType
(
String
))
Return
dt
End
Function
End
Class