<telerik:RadGrid ID="radGridPolicy" runat="server"
AllowFilteringByColumn="true"
AllowMultiRowSelection="true"
AllowPaging="true"
AllowSorting="true"
AlternatingItemStyle-Wrap="false"
AutoGenerateColumns="false"
ClientSettings-AllowColumnsReorder="true"
ClientSettings-AllowKeyboardNavigation="false"
ClientSettings-EnablePostBackOnRowClick="true"
ClientSettings-ReorderColumnsOnClient="true"
ClientSettings-Resizing-AllowColumnResize="true"
ClientSettings-Resizing-AllowResizeToFit="true"
ClientSettings-Resizing-EnableRealTimeResize="true"
ClientSettings-Resizing-ResizeGridOnColumnResize="true"
ClientSettings-Scrolling-AllowScroll="true"
ClientSettings-Scrolling-UseStaticHeaders="true"
ClientSettings-Selecting-AllowRowSelect="true"
ClientSettings-Selecting-EnableDragToSelectRows="true"
FilterMenu-EnableImageSprites="false"
HeaderContextMenu-CssClass="GridContextMenu GridContextMenu_Default"
HeaderStyle-Font-Bold="true"
HeaderStyle-Wrap="false"
Height="100%"
ItemStyle-Wrap="false"
OnItemCommand="radGridPolicy_ItemCommand"
OnItemCreated="radGridPolicy_ItemCreated"
OnItemDataBound="radGridPolicy_ItemDataBound"
OnNeedDataSource="radGridPolicy_NeedDataSource"
PagerStyle-Mode="NextPrevAndNumeric"
PageSize="40">
<MasterTableView AutoGenerateColumns="false" CommandItemDisplay="Top">
<CommandItemSettings ExportToPdfText="Export to PDF" />
<RowIndicatorColumn FilterControlAltText="Filter RowIndicator column" />
<ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column" />
<Columns>
<telerik:GridClientSelectColumn HeaderStyle-Width="30px" />
<telerik:GridBoundColumn DataField="TenantId"
Display="False"
HeaderText="TenantID"
UniqueName="TenantID">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="PolicyId"
Display="False"
HeaderText="PolicyID"
UniqueName="PolicyID">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="PolicyType"
Display="False"
HeaderText="PolicyType"
UniqueName="PolicyType">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="PolicySubType"
Display="False"
HeaderText="PolicySubType"
UniqueName="PolicySubType">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="SupportedClients"
Display="False"
HeaderText="ClientType"
UniqueName="ClientType">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Enabled" HeaderStyle-HorizontalAlign="Center"
FilterControlAltText="Filter State column" HeaderText="State" ItemStyle-HorizontalAlign="Center"
SortExpression="PolicyState" UniqueName="PolicyState" >
<FilterTemplate>
<telerik:RadComboBox ID="FilterPolicyByState" runat="server" Width="40px" DropDownWidth="250px"
SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("PolicyState").CurrentFilterValue %>'
OnClientLoad="OnPolicyStateLoad" OnClientSelectedIndexChanged="OnPolicyStateIndexChanged" >
<Items>
<telerik:RadComboBoxItem Text="" Value="-1" Selected="True" />
<telerik:RadComboBoxItem Text="Published" Value="1" ImageUrl="~/Images/toolApprove.png" ToolTip="Published" />
<telerik:RadComboBoxItem Text="Unpublished" Value="0" ImageUrl="~/Images/toolUnapprove.png" ToolTip="Unpublished" />
</Items>
</telerik:RadComboBox>
<telerik:RadScriptBlock ID="RadScriptBlockPolicyState" runat="server">
<script type="text/javascript">
function OnPolicyStateLoad(sender)
{
var inputArea = sender.get_inputDomElement();
var selVal = sender.get_selectedIndex();
//debugger;
if (selVal != 0)
{
inputArea.style.background =
"url(" + sender.get_items().getItem(selVal).get_imageUrl() + ") no-repeat ";
}
sender.set_text(
"");
}
function OnPolicyStateIndexChanged(sender, args)
{
var masterTable = $find( "<%= radGridPolicy.ClientID %>" ).get_masterTableView();
var value = args.get_item().get_value();
var item = args.get_item();
//debugger;
if ( value != -1 )
{
masterTable.filter(
"PolicyState", value, Telerik.Web.UI.GridFilterFunction.EqualTo );
}
else
{
masterTable.filter(
"PolicyState", "", Telerik.Web.UI.GridFilterFunction.NoFilter );
sender.set_selectedIndex(0);
}
sender.set_text(
"");
}
</script>
</telerik:RadScriptBlock>
</FilterTemplate>
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="PolicyType"
FilterControlAltText="Filter Type column" HeaderText="Type"
SortExpression="PolicyType" UniqueName="PolicyTypeImage" >
<FilterTemplate>
<telerik:RadComboBox ID="FilterPolicyByType" runat="server" Width="40px" DropDownWidth="200px"
SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("PolicyTypeImage").CurrentFilterValue %>'
OnClientLoad="OnPolicyTypeLoad" OnClientSelectedIndexChanged="OnPolicyTypeIndexChanged" >
<Items>
</Items>
</telerik:RadComboBox>
<telerik:RadScriptBlock ID="RadScriptBlockPolicyType" runat="server">
<script type="text/javascript">
function OnPolicyTypeLoad(sender)
{
var inputArea = sender.get_inputDomElement();
var selVal = sender.get_selectedIndex();
//debugger;
if (selVal != 0)
{
inputArea.style.background =
"url(" + sender.get_items().getItem(selVal).get_imageUrl() + ") no-repeat ";
}
sender.set_text(
"");
}
function OnPolicyTypeIndexChanged(sender, args)
{
var masterTable = $find("<%= radGridPolicy.ClientID %>").get_masterTableView();
var value = args.get_item().get_value();
var item = args.get_item();
//debugger;
if (value != -1)
{
masterTable.filter(
"PolicyTypeImage", value, Telerik.Web.UI.GridFilterFunction.EqualTo);
}
else
{
masterTable.filter(
"PolicyTypeImage", "", Telerik.Web.UI.GridFilterFunction.NoFilter);
sender.set_selectedIndex(0);
}
sender.set_text(
"");
}
</script>
</telerik:RadScriptBlock>
</FilterTemplate>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="SupportedClients"
FilterControlAltText="Filter Client Type column"
HeaderText="OS"
SortExpression="ClientType"
UniqueName="ClientTypeImage" DataType="System.Int32">
<FilterTemplate>
<telerik:RadComboBox ID="FilterPolicyByClientType" runat="server" Width="40px" DropDownWidth="250px"
SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("ClientTypeImage").CurrentFilterValue %>'
OnClientLoad="OnPolicyClientTypeLoad" OnClientSelectedIndexChanged="OnPolicyClientTypeIndexChanged" ClientIDMode="Static">
<Items>
</Items>
</telerik:RadComboBox>
<telerik:RadScriptBlock ID="RadScriptBlockPolicyClientType" runat="server">
<script type="text/javascript">
function OnPolicyClientTypeLoad(sender)
{
var inputArea = sender.get_inputDomElement();
var selVal = sender.get_selectedIndex();
//debugger;
if (selVal != 0)
{
inputArea.style.background =
"url(" + sender.get_items().getItem(selVal).get_imageUrl() + ") no-repeat ";
}
sender.set_text(
"");
}
function OnPolicyClientTypeIndexChanged(sender, args)
{
var masterTable = $find("<%= radGridPolicy.ClientID %>").get_masterTableView();
var value = args.get_item().get_value();
var item = args.get_item();
//debugger;
if (value != 0)
{
masterTable.filter(
"ClientTypeImage", value, Telerik.Web.UI.GridFilterFunction.EqualTo);
}
else
{
masterTable.filter(
"ClientTypeImage", "", Telerik.Web.UI.GridFilterFunction.NoFilter);
sender.set_selectedIndex(0);
}
sender.set_text(
"");
}
</script>
</telerik:RadScriptBlock>
</FilterTemplate>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Name" HeaderText="Policy"
DataFormatString="<nobr>{0}</nobr>"
FilterControlAltText="Filter Name column"
SortExpression="Name"
UniqueName="Name">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Description" HeaderText="Note"
DataFormatString="<nobr>{0}</nobr>"
FilterControlAltText="Filter Description column"
SortExpression="Description"
UniqueName="Note">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="UpdateTime"
DataType="System.DateTime" DataFormatString="<nobr>{0}</nobr>"
FilterControlAltText="Filter last update column"
HeaderText="Last Modified"
SortExpression="LastUpdate"
UniqueName="LastUpdate">
<FilterTemplate>
<telerik:RadDateTimePicker ID="RadDateTimePicker1"
runat="server" DateInput-DisplayDateFormat="MMMM dd, yyyy hh:mm:ss">
</telerik:RadDateTimePicker>
</FilterTemplate>
</telerik:GridBoundColumn>
</Columns>
<EditFormSettings>
<EditColumn FilterControlAltText="Filter EditCommandColumn column"></EditColumn>
</EditFormSettings>
<CommandItemTemplate>
<grid:PolicyToolbar ID="PolicyGridToolbar" runat="server" ClientIDMode="Static" />
</CommandItemTemplate>
</MasterTableView>
</telerik:RadGrid>
AppendDataBoundItems="true"
<
Items
>
<
telerik:RadComboBoxItem
Text
=
"All"
/>
<
telerik:RadComboBoxItem
Text
=
"All Open"
Value
=
"ALL Open"
/>
</
Items
>
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %>
<!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
>
<
telerik:RadStyleSheetManager
id
=
"RadStyleSheetManager1"
runat
=
"server"
/>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
telerik:RadScriptManager
ID
=
"RadScriptManager1"
runat
=
"server"
EnableTheming
=
"True"
>
<
Scripts
>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.Core.js"
>
</
asp:ScriptReference
>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.jQuery.js"
>
</
asp:ScriptReference
>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.jQueryInclude.js"
>
</
asp:ScriptReference
>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.jQueryInclude.js"
>
</
asp:ScriptReference
>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.jQuery.js"
>
</
asp:ScriptReference
>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.Core.js"
>
</
asp:ScriptReference
>
</
Scripts
>
</
telerik:RadScriptManager
>
<
asp:SqlDataSource
ID
=
"SqlDataSource1"
runat
=
"server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
DeleteCommand="DELETE FROM [Parts] WHERE [PartID] = @PartID"
InsertCommand="INSERT INTO [Parts] ([Part Name], [ParentID]) VALUES (@Part_Name, @ParentID)"
SelectCommand="SELECT * FROM [Parts]"
UpdateCommand="UPDATE [Parts] SET [Part Name] = @Part_Name, [ParentID] = @ParentID WHERE [PartID] = @PartID">
<
DeleteParameters
>
<
asp:Parameter
Name
=
"PartID"
Type
=
"Int32"
/>
</
DeleteParameters
>
<
InsertParameters
>
<
asp:Parameter
Name
=
"Part_Name"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"ParentID"
Type
=
"Int32"
/>
</
InsertParameters
>
<
UpdateParameters
>
<
asp:Parameter
Name
=
"Part_Name"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"ParentID"
Type
=
"Int32"
/>
<
asp:Parameter
Name
=
"PartID"
Type
=
"Int32"
/>
</
UpdateParameters
>
</
asp:SqlDataSource
>
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
AllowAutomaticDeletes
=
"True"
AllowAutomaticInserts
=
"True"
AllowAutomaticUpdates
=
"True"
AutoGenerateHierarchy
=
"True"
CellSpacing
=
"0"
DataSourceID
=
"SqlDataSource1"
GridLines
=
"None"
>
<
MasterTableView
AutoGenerateColumns
=
"False"
DataKeyNames
=
"PartID,ParentID"
DataSourceID
=
"SqlDataSource1"
>
<
SelfHierarchySettings
KeyName
=
"PartID"
ParentKeyName
=
"`"
/>
<
CommandItemSettings
ExportToPdfText
=
"Export to PDF"
></
CommandItemSettings
>
<
RowIndicatorColumn
FilterControlAltText
=
"Filter RowIndicator column"
>
<
HeaderStyle
Width
=
"20px"
></
HeaderStyle
>
</
RowIndicatorColumn
>
<
ExpandCollapseColumn
FilterControlAltText
=
"Filter ExpandColumn column"
>
<
HeaderStyle
Width
=
"20px"
></
HeaderStyle
>
</
ExpandCollapseColumn
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"PartID"
DataType
=
"System.Int32"
FilterControlAltText
=
"Filter PartID column"
HeaderText
=
"PartID"
ReadOnly
=
"True"
SortExpression
=
"PartID"
UniqueName
=
"PartID"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Part Name"
FilterControlAltText
=
"Filter Part Name column"
HeaderText
=
"Part Name"
SortExpression
=
"Part Name"
UniqueName
=
"Part Name"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"ParentID"
DataType
=
"System.Int32"
FilterControlAltText
=
"Filter ParentID column"
HeaderText
=
"ParentID"
SortExpression
=
"ParentID"
UniqueName
=
"ParentID"
>
</
telerik:GridBoundColumn
>
</
Columns
>
<
EditFormSettings
>
<
EditColumn
FilterControlAltText
=
"Filter EditCommandColumn column"
></
EditColumn
>
</
EditFormSettings
>
</
MasterTableView
>
<
FilterMenu
EnableImageSprites
=
"False"
></
FilterMenu
>
<
HeaderContextMenu
CssClass
=
"GridContextMenu GridContextMenu_Default"
></
HeaderContextMenu
>
</
telerik:RadGrid
>
<
script
type
=
"text/javascript"
>
//Put your Java Script code here.
</
script
>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
>
</
telerik:RadAjaxManager
>
<
telerik:RadSkinManager
ID
=
"RadSkinManager1"
Runat
=
"server"
Skin
=
"WebBlue"
>
</
telerik:RadSkinManager
>
<
div
>
</
div
>
</
form
>
</
body
>
</
html
>
g
telerik:GridButtonColumn
But it is not deleting. Only it is howing a message box. So what code we need to put in code-behind or aspx page to do deletions. Tell me some suggestions<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
AllowSorting
=
"True"
ShowStatusBar
=
"True"
AllowPaging
=
"True"
Skin
=
"Office2007"
AutoGenerateDeleteColumn
=
"True"
AutoGenerateColumns
=
"False"
AllowFilteringByColumn
=
"True"
DataSourceID
=
"SqlDataSource5"
GridLines
=
"None"
Width
=
"520px"
AllowAutomaticUpdates
=
"True"
AllowAutomaticInserts
=
"True"
AutoGenerateEditColumn
=
"True"
>
<
MasterTableView
DataSourceID
=
"SqlDataSource5"
AllowAutomaticUpdates
=
"True"
CommandItemDisplay
=
"Top"
DataKeyNames
=
"ID"
AllowAutomaticInserts
=
"true"
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"ID"
HeaderText
=
"ID"
SortExpression
=
"ID"
UniqueName
=
"ID"
DataType
=
"System.Int32"
ReadOnly
=
"True"
Visible
=
"false"
/>
<
telerik:GridBoundColumn
DataField
=
"Class"
HeaderText
=
"Class"
SortExpression
=
"Class"
UniqueName
=
"Class"
/>
<
telerik:GridBoundColumn
DataField
=
"Course"
HeaderText
=
"Course"
SortExpression
=
"Course"
UniqueName
=
"Course"
AllowFiltering
=
"false"
>
</
telerik:GridBoundColumn
>
<
telerik:GridButtonColumn
ConfirmText
=
"Are you sure you want to delete this row or record?"
CommandName
=
"Delete"
Text
=
"Delete"
>
</
telerik:GridButtonColumn
>
<%--<
telerik:GridButtonColumn
ConfirmText
=
"Delete this product?"
ConfirmDialogType
=
"RadWindow"
ConfirmTitle
=
"Delete"
ButtonType
=
"ImageButton"
CommandName
=
"Delete"
Text
=
"Delete"
UniqueName
=
"DeleteColumn"
>
<
ItemStyle
HorizontalAlign
=
"Center"
CssClass
=
"MyImageButton"
/>
</
telerik:GridButtonColumn
>--%>
</
Columns
>
</
MasterTableView
>
<
HeaderStyle
HorizontalAlign
=
"Center"
/>
</
telerik:RadGrid
>
<
asp:SqlDataSource
ID
=
"SqlDataSource5"
runat
=
"server"
ConnectionString="<%$ ConnectionStrings:SearchingConnectionString %>"
DeleteCommand="DELETE FROM [Clas_Course] WHERE [ID] = @ID"
InsertCommand="INSERT INTO [Clas_Course] ([Class], [Course]) VALUES (@Class, @Course)"
SelectCommand="SELECT [ID], [Class], [Course] FROM [Clas_Course]"
UpdateCommand="UPDATE [Clas_Course] SET [Class] = @Class, [Course] = @Course WHERE [ID] = @ID">
<
DeleteParameters
>
<
asp:Parameter
Name
=
"ID"
Type
=
"Int32"
/>
</
DeleteParameters
>
<
InsertParameters
>
<
asp:Parameter
Name
=
"Class"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"Course"
Type
=
"String"
/>
</
InsertParameters
>
<
UpdateParameters
>
<
asp:Parameter
Name
=
"Class"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"Course"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"ID"
Type
=
"Int32"
/>
</
UpdateParameters
>
</
asp:SqlDataSource
>
</
td
></
tr
>
</
table
> <
telerik:RadScriptManager
ID
=
"RadScriptManager1"
runat
=
"server"
>
</
telerik:RadScriptManager
>
</
div
>
<
div
class
=
"cornerDiv"
>
<
img
src
=
"Images/bLeft_corner.gif"
class
=
"float"
/>
<
div
class
=
"bg_div"
></
div
>
<
img
src
=
"Images/bRight_corner.gif"
class
=
"float"
/>
</
div
>
Posted on Nov 7, 2011 (permalink)
grdOrderDates_DetailTableDataBind event
sample here and any relevant suggestions would be helpful? Sorry about all the posted code Im dissapointed you cant attach a project file as an attachment :( and wanted to have the other person look at the same thing im looking at, thanks!
ASPX:
<
telerik:RadAjaxManagerProxy
ID
=
"OrderAM"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"AjaxOrderDates"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"grdOrderDates"
LoadingPanelID
=
"RadAjaxLoadingPanel"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManagerProxy
>
<
div
style
=
"margin:20px 100px 20px 400px"
>
<
h3
> Orders By Date</
h3
>
<
br
/>
<
br
/>
<
table
>
<
tr
>
<
td
>
Start Date:
</
td
>
<
td
align
=
"left"
>
<
telerik:RadDatePicker
runat
=
"server"
ID
=
"CalStartDate"
></
telerik:RadDatePicker
>
</
td
>
</
tr
>
<
tr
>
<
td
>
End Date:
</
td
>
<
td
align
=
"left"
>
<
telerik:RadDatePicker
runat
=
"server"
ID
=
"CalEndDate"
></
telerik:RadDatePicker
>
</
td
>
</
tr
>
<
tr
style
=
"margin:20px 0"
>
<
td
colspan
=
"2"
align
=
"center"
>
<
asp:Button
runat
=
"server"
ID
=
"BtnSubmit"
Text
=
"Submit"
onclick
=
"BtnSubmit_Click"
/>
</
td
>
</
tr
>
</
table
>
<
telerik:RadGrid
runat
=
"server"
ID
=
"grdOrderDates"
Width
=
"750px"
Height
=
"100%"
AllowPaging
=
"true"
AllowSorting
=
"true"
EnableLinqExpressions
=
"false"
ShowFooter
=
"true"
ondetailtabledatabind
=
"grdOrderDates_DetailTableDataBind"
>
<
PagerStyle
Mode
=
"NextPrevAndNumeric"
/>
<
MasterTableView
AutoGenerateColumns
=
"false"
AllowAutomaticDeletes
=
"true"
AllowAutomaticInserts
=
"true"
AllowAutomaticUpdates
=
"true"
InsertItemPageIndexAction
=
"ShowItemOnCurrentPage"
DataKeyNames
=
"OrderDate"
CommandItemDisplay
=
"Top"
EditMode
=
"PopUp"
AllowMultiColumnSorting
=
"true"
OverrideDataSourceControlSorting
=
"true"
AllowFilteringByColumn
=
"true"
FilterItemStyle-HorizontalAlign
=
"Left"
ShowFooter
=
"true"
ShowHeader
=
"true"
HierarchyLoadMode
=
"ServerOnDemand"
>
<
CommandItemSettings
AddNewRecordText
=
""
/>
<
RowIndicatorColumn
FilterControlAltText
=
"Filter RowIndicator column"
>
</
RowIndicatorColumn
>
<
ExpandCollapseColumn
FilterControlAltText
=
"Filter ExpandColumn column"
>
</
ExpandCollapseColumn
>
<
DetailTables
>
<
telerik:GridTableView
AutoGenerateColumns
=
"false"
DataKeyNames
=
"OrderDate"
DataSourceID
=
"ODSOrders"
>
<
ParentTableRelation
>
<
telerik:GridRelationFields
DetailKeyField
=
"Date"
MasterKeyField
=
"OrderDate"
/>
</
ParentTableRelation
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"Date"
HeaderText
=
"OrderDate"
></
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"OrderID"
HeaderText
=
"OrderID"
></
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Customer"
HeaderText
=
"Customer"
></
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Location"
HeaderText
=
"Location"
></
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Destination"
HeaderText
=
"Destination"
></
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Quantity"
HeaderText
=
"Quantity"
></
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"QuantityRemaining"
HeaderText
=
"Quantity Remaining"
></
telerik:GridBoundColumn
>
</
Columns
>
</
telerik:GridTableView
>
</
DetailTables
>
<
Columns
>
<
telerik:GridEditCommandColumn
ButtonType
=
"ImageButton"
UniqueName
=
"EditCommandColumn"
>
<
HeaderStyle
></
HeaderStyle
>
</
telerik:GridEditCommandColumn
>
<
telerik:GridBoundColumn
DataField
=
"OrderDate"
UniqueName
=
"OrderDate"
HeaderText
=
"Order Date"
/>
</
Columns
>
</
MasterTableView
>
<
GroupingSettings
CaseSensitive
=
"False"
/>
</
telerik:RadGrid
>
</
div
>
<
asp:ObjectDataSource
ID
=
"ODSOrderList"
runat
=
"server"
TypeName
=
"DAL.OrderRepository"
DataObjectTypeName
=
"DAL.OrderView"
SelectMethod
=
"getOrderDatesinRange"
onselecting
=
"ODSOrderList_Selecting"
>
<
SelectParameters
>
<
asp:Parameter
Name
=
"StartDate"
DbType
=
"DateTime"
/>
<
asp:Parameter
Name
=
"EndDate"
DbType
=
"DateTime"
/>
</
SelectParameters
>
</
asp:ObjectDataSource
>
<
asp:ObjectDataSource
ID
=
"ODSOrders"
runat
=
"server"
TypeName
=
"DAL.OrderRepository"
DataObjectTypeName
=
"DAL.Order"
SelectMethod
=
"getOrderListinRange"
>
<
SelectParameters
>
<
asp:Parameter
Name
=
"orderDate"
Type
=
"DateTime"
/>
</
SelectParameters
>
</
asp:ObjectDataSource
>
C# code Behind
public partial class OrderView_Screen : System.Web.UI.Page
{
DateTime orderDate;
protected void Page_Load(object sender, EventArgs e)
{
}
public void LoadOrdersByDate()
{
//Loads Parent Grid when date range for Orders is given and binds Parent grid
grdOrderDates.DataSourceID = "ODSOrderList";
grdOrderDates.DataBind();
}
protected void ODSOrderList_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
{
e.InputParameters["StartDate"] = CalStartDate.SelectedDate;
e.InputParameters["EndDate"] = CalEndDate.SelectedDate;
}
protected void BtnSubmit_Click(object sender, EventArgs e)
{
//Loads Parent Grid when date range for Orders is given and binds Parent grid
LoadOrdersByDate();
}
protected void grdOrderDates_DetailTableDataBind(object sender, Telerik.Web.UI.GridDetailTableDataBindEventArgs e)
{
try
{
GridDataItem dataItem = (GridDataItem)e.DetailTableView.ParentItem;
// This line throws error An unhandled exception of type 'System.StackOverflowException' occurred in System.dll
DateTime orderDate = Convert.ToDateTime(dataItem["OrderDate"].Text);
e.DetailTableView.DataSourceID = "ODSOrders";
e.DetailTableView.DataBind();
}
catch (Exception ex)
{
throw ex;
}
}
protected void ODSOrders_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
{
e.InputParameters["orderDate"] = orderDate;
}
}
public class Order
{
public Int16 OrderID { get; set; }
public string Customer { get; set; }
public string Destination { get; set; }
public Int16 Quantity { get; set; }
public Int16 QuantityRemaining { get; set; }
public DateTime Date { get; set; }
}
public class OrderView
{
public DateTime OrderDate { get; set; }
public Int16 OrderID { get; set; }
}
public class OrderRepository
{
public IEnumerable<
OrderView
> getOrderDatesinRange(DateTime startdate, DateTime enddate)
{
List<
OrderView
> orderViewList = new List<
OrderView
>();
IEnumerable<
OrderView
> filterList = getOrderRange(startdate, enddate);
var oList = (from o in filterList
where o.OrderDate >= startdate
&& o.OrderDate <
enddate
select o).GroupBy(i => i.OrderDate, (key, group) => group.First()).ToList();
orderViewList = oList.Cast<
OrderView
>().ToList();
return orderViewList;
}
public IEnumerable<
Order
> getOrderListinRange(DateTime orderDate)
{
IEnumerable<
Order
> ordersList = new List<
Order
>();
IEnumerable<
Order
> filterList = getOrders(orderDate);
ordersList = (from o in filterList
where o.Date == orderDate
select o).ToList();
return ordersList;
}
public IEnumerable<
OrderView
> getOrderRange(DateTime startdate, DateTime enddate)
{
List<
OrderView
> getList = new List<
OrderView
>();
getList.Add(new OrderView {OrderDate = new DateTime(2011,10,1) , OrderID = 1});
getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 2), OrderID = 1 });
getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 3), OrderID = 1 });
getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 4), OrderID = 1 });
getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 6), OrderID = 1 });
getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 7), OrderID = 1 });
getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 8), OrderID = 1 });
getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 9), OrderID = 1 });
getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 10), OrderID = 1 });
getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 11), OrderID = 1 });
getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 12), OrderID = 1 });
getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 1), OrderID = 2 });
getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 2), OrderID = 2 });
getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 3), OrderID = 2 });
getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 4), OrderID = 2 });
getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 6), OrderID = 2 });
getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 7), OrderID = 2 });
getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 8), OrderID = 3 });
getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 9), OrderID = 3 });
getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 10), OrderID = 3 });
getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 11), OrderID = 3 });
getList.Add(new OrderView { OrderDate = new DateTime(2011, 10, 12), OrderID = 3 });
return getList;
}
public IEnumerable<
Order
> getOrders(DateTime orderDate)
{
List<
Order
> getOrderList = new List<
Order
>();
getOrderList.Add(new Order { Date = new DateTime(2011, 10, 1), OrderID = 1, Customer = "Evraz", Destination = "Houston", Quantity = 70, QuantityRemaining = 55 });
getOrderList.Add(new Order { Date = new DateTime(2011, 10, 2), OrderID = 1, Customer = "Evraz", Destination = "Houston", Quantity = 70, QuantityRemaining = 35 });
getOrderList.Add(new Order { Date = new DateTime(2011, 10, 3), OrderID = 1, Customer = "Evraz", Destination = "Houston", Quantity = 70, QuantityRemaining = 20 });
getOrderList.Add(new Order { Date = new DateTime(2011, 10, 1), OrderID = 2, Customer = "TCIM", Destination = "Orlando", Quantity = 100, QuantityRemaining = 80 });
getOrderList.Add(new Order { Date = new DateTime(2011, 10, 2), OrderID = 2, Customer = "TCIM", Destination = "Orlando", Quantity = 70, QuantityRemaining = 60 });
getOrderList.Add(new Order { Date = new DateTime(2011, 10, 3), OrderID = 2, Customer = "TCIM", Destination = "Orlando", Quantity = 70, QuantityRemaining = 30 });
getOrderList.Add(new Order { Date = new DateTime(2011, 10, 1), OrderID = 3, Customer = "PT", Destination = "Atlanta", Quantity = 80, QuantityRemaining = 70 });
getOrderList.Add(new Order { Date = new DateTime(2011, 10, 2), OrderID = 3, Customer = "PT", Destination = "Atlanta", Quantity = 80, QuantityRemaining = 40 });
getOrderList.Add(new Order { Date = new DateTime(2011, 10, 3), OrderID = 3, Customer = "PT", Destination = "Atlanta", Quantity = 80, QuantityRemaining = 20 });
return getOrderList;
}
}