or
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
OnAjaxRequest
=
"RadAjaxManager1_AjaxRequest"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"RadAjaxManager1"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"gvList"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"containerDiv"
>
<
UpdatedControls
>
<%--<
telerik:AjaxUpdatedControl
ControlID
=
"rdpRaiseDateHeader"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"rdpEndDateHeader"
/>--%>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"gvList"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"gvList"
></
telerik:AjaxUpdatedControl
>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<%--<
telerik:AjaxSetting
AjaxControlID
=
"containerDiv"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"rdpRaiseDate"
></
telerik:AjaxUpdatedControl
>
</
UpdatedControls
>
</
telerik:AjaxSetting
>--%>
<%--<
telerik:AjaxSetting
AjaxControlID
=
"rdpRaiseDate"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"rdpRaiseDate"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>--%>
<
telerik:AjaxSetting
AjaxControlID
=
"rdpRaiseDate"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"rdpRaiseDate"
></
telerik:AjaxUpdatedControl
>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"rdpEndDate"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"rdpEndDate"
></
telerik:AjaxUpdatedControl
>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
.RadListBox_Default
{
width
:
auto
!important
;
}
.RadListBox_Default
{
width
:
auto
!important
;
height
:
300px
;
}
private
void
TreeListItemDataBound(
object
sender, TreeListItemDataBoundEventArgs e)
{
var item = e.Item
as
TreeListDataItem;
if
(item !=
null
)
{
if
(myCondition)
{
item[
"Select"
].Controls[0].Visible =
false
;
}
}
}
.rgtToolbar.rgtFooter {
display
:
none
!important
; }
div.RadAjax_Black .raDiv {
background-image
:
url
(/Images/loading.gif); }
Aggregate="Sum" DataFormatString="{0:C}" FooterAggregateFormatString="<
b
>{0:C}</
b
>"
<
telerik:GridDropDownColumn
UniqueName
=
"Division"
HeaderText
=
"Division"
DataField
=
"DivisionID"
DataSourceID
=
"edsDivision"
ListValueField
=
"DivisionID"
ListTextField
=
"Division1"
SortExpression
=
"Division.Division1"
AutoPostBackOnFilter
=
"true"
CurrentFilterFunction
=
"EqualTo"
ShowFilterIcon
=
"true"
ReadOnly
=
"true"
FilterControlWidth
=
"90px"
>
<
HeaderStyle
Width
=
"100px"
/>
<
ItemStyle
Width
=
"100px"
/>
<
FilterTemplate
>
<
telerik:RadComboBox
ID
=
"ddlDivision"
DataSourceID
=
"edsDivision"
DataValueField
=
"DivisionID"
DataTextField
=
"Division1"
Height
=
"200px"
AppendDataBoundItems
=
"true"
SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("Division").CurrentFilterValue %>'
runat="server" OnClientSelectedIndexChanged="DivisionChanged" Width="80px">
<
Items
>
<
telerik:RadComboBoxItem
Text
=
"All"
/>
</
Items
>
</
telerik:RadComboBox
>
<
telerik:RadScriptBlock
ID
=
"RadScriptBlock1"
runat
=
"server"
>
<
script
type
=
"text/javascript"
>
function DivisionChanged(sender, args) {
var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");
tableView.filter("Division", args.get_item().get_value(), "EqualTo");
}
</
script
>
</
telerik:RadScriptBlock
>
</
FilterTemplate
>
</
telerik:GridDropDownColumn
>
<
telerik:GridNumericColumn
UniqueName
=
"DebtAgeCurrent"
DataField
=
"DebtAgeCurrent"
SortExpression
=
"DebtAgeCurrent"
HeaderText
=
"Current Debt"
ShowFilterIcon
=
"true"
ReadOnly
=
"true"
CurrentFilterFunction
=
"GreaterThanOrEqualTo"
AutoPostBackOnFilter
=
"true"
NumericType
=
"Currency"
FilterControlWidth
=
"55px"
Aggregate
=
"Sum"
DataFormatString
=
"{0:C}"
FooterAggregateFormatString="<b>{0:C}</
b>">
<
HeaderStyle
Width
=
"100px"
/>
<
ItemStyle
Width
=
"100px"
/>
</
telerik:GridNumericColumn
>
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="practiceTemplate.aspx.cs" Inherits="ProgramStatusManagementSystemWebApp.primavera.practiceTemplate" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<!DOCTYPE html>
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<
head
runat
=
"server"
>
<
title
></
title
>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
div
>
<
telerik:RadScriptManager
ID
=
"RadScriptManager1"
runat
=
"server"
></
telerik:RadScriptManager
>
<
telerik:RadSkinManager
ID
=
"RadSkinManager1"
runat
=
"server"
ShowChooser
=
"true"
></
telerik:RadSkinManager
>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"RadGrid1"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadGrid1"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
ShowStatusBar
=
"true"
AutoGenerateColumns
=
"False"
PageSize
=
"7"
AllowSorting
=
"True"
AllowMultiRowSelection
=
"False"
AllowPaging
=
"True"
OnDetailTableDataBind
=
"RadGrid1_DetailTableDataBind"
OnNeedDataSource
=
"RadGrid1_NeedDataSource"
OnPreRender
=
"RadGrid1_PreRender"
>
<
PagerStyle
Mode
=
"NumericPages"
></
PagerStyle
>
<
MasterTableView
DataKeyNames
=
"wbs_id"
AllowMultiColumnSorting
=
"True"
>
<
DetailTables
>
<
telerik:GridTableView
DataKeyNames
=
"wbs_id"
Name
=
"Activities"
Width
=
"100%"
>
<
DetailTables
>
<
telerik:GridTableView
DataKeyNames
=
"task_id"
Name
=
"StepDetails"
Width
=
"100%"
>
<
Columns
>
<
telerik:GridBoundColumn
SortExpression
=
"proc_id"
HeaderText
=
"Step ID"
HeaderButtonType
=
"TextButton"
DataField
=
"proc_id"
UniqueName
=
"proc_id"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
SortExpression
=
"proc_name"
HeaderText
=
"Step Name"
HeaderButtonType
=
"TextButton"
DataField
=
"proc_name"
UniqueName
=
"proc_name"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
SortExpression
=
"proc_wt"
HeaderText
=
"Step Weight"
HeaderButtonType
=
"TextButton"
DataField
=
"proc_wt"
UniqueName
=
"proc_wt"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
SortExpression
=
"complete_pct"
HeaderText
=
"Percent Complete"
HeaderButtonType
=
"TextButton"
DataField
=
"complete_pct"
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
telerik:GridTableView
>
</
DetailTables
>
<
Columns
>
<
telerik:GridBoundColumn
SortExpression
=
"task_code"
HeaderText
=
"Activity ID"
HeaderButtonType
=
"TextButton"
DataField
=
"task_code"
UniqueName
=
"task_code"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
SortExpression
=
"task_name"
HeaderText
=
"Activity Name"
HeaderButtonType
=
"TextButton"
DataField
=
"task_name"
UniqueName
=
"task_name"
DataFormatString
=
"{0:D}"
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
telerik:GridTableView
>
</
DetailTables
>
<
Columns
>
<
telerik:GridBoundColumn
SortExpression
=
"wbs_name"
HeaderText
=
"WBS Name"
HeaderButtonType
=
"TextButton"
DataField
=
"wbs_name"
UniqueName
=
"wbs_name"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
SortExpression
=
"short_name"
HeaderText
=
"CAM"
HeaderButtonType
=
"TextButton"
DataField
=
"short_name"
UniqueName
=
"short_name"
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
</
div
>
</
form
>
</
body
>
</
html
>
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Telerik.Web.UI;
namespace ProgramStatusManagementSystemWebApp.primavera
{
public partial class practiceTemplate : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void RadGrid1_DetailTableDataBind(object sender, Telerik.Web.UI.GridDetailTableDataBindEventArgs e)
{
GridDataItem dataItem = (GridDataItem)e.DetailTableView.ParentItem;
switch (e.DetailTableView.Name)
{
case "Activities":
{
string wbsID = dataItem.GetDataKeyValue("wbs_id").ToString();
//string rowuid = dataItem.GetDataKeyValue("rowuid").ToString();
e.DetailTableView.DataSource = GetDataTable("SELECT task_code, task_name FROM PrimaveraStatusTemplate3 WHERE wbs_id = " + wbsID + "");
//e.DetailTableView.DataSource = GetDataTable("SELECT task_code, task_name FROM PrimaveraStatusTemplate3 WHERE rowuid = " + rowuid + "");
break;
}
case "StepDetails":
{
string taskID = dataItem.GetDataKeyValue("task_id").ToString();
e.DetailTableView.DataSource = GetDataTable("SELECT proc_name, proc_wt, complete_pct FROM PrimaveraStatusTemplate3 WHERE task_id = " + taskID + "");
break;
}
}
}
protected void RadGrid1_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
if (!e.IsFromDetailTable)
{
RadGrid1.DataSource = GetDataTable("SELECT * FROM PrimaveraStatusTemplate3");
}
}
protected void RadGrid1_PreRender(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
RadGrid1.MasterTableView.Items[0].Expanded = true;
RadGrid1.MasterTableView.Items[0].ChildItem.NestedTableViews[0].Items[0].Expanded = true;
}
}
public DataTable GetDataTable(string query)
{
String ConnString = ConfigurationManager.ConnectionStrings["PSMSystemConnectionString"].ConnectionString;
SqlConnection conn = new SqlConnection(ConnString);
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = new SqlCommand(query, conn);
DataTable myDataTable = new DataTable();
conn.Open();
try
{
adapter.Fill(myDataTable);
}
finally
{
conn.Close();
}
return myDataTable;
}
}
}