or
public class WorkOrderDetails { protected readonly IWorkOrder _workOrder; protected readonly List<ResourceRequirement> _resources = new List<ResourceRequirement>(); public WorkOrderDetails(IWorkOrder wo) { _workOrder = wo; foreach (IWoResources res in wo.ResourcesChildren) { _resources.Add(new ResourceRequirement(res)); } } public string WoNumber { get { return _workOrder.WoNumber; } } public string Title { get { return _workOrder.Description; } } public List<ResourceRequirement> Resources { get { return _resources; } } } public class ResourceRequirement { private IResources _data; public ResourceRequirement(IResources res) { _data = res; }
//
// Summary
// The Unique ID of this ResourceRequiment (which is a "Skill").
public string ID { get { return _data.ResourceId; } }
// // Summary: // The property for the planned_hours column of the TabWare database wo_resources // table. public decimal PlannedHours { get { return _data.PlannedHours; } } // // Summary: // The property for the remaining_hours column of the TabWare database wo_resources // table. public decimal RemainingHours { get { return _data.RemainingHours; } } // // Summary: // The property for the workers column of the TabWare database wo_resources // table. public int Workers { get { return _data.Workers; } } } List<WorkOrderDetails> list = factory.GetWorkOrders(); RadGrid1.DataSource = list;<telerik:RadGrid ID="rgPlannedWorkOrders" runat="server" Width="480px" Height="392px" AutoGenerateColumns="False" AllowSorting="True" Skin="Sunset" GridLines="Vertical" CellSpacing="0" AutoGenerateHierarchy="true"> <ClientSettings> <Selecting AllowRowSelect="True" /> </ClientSettings> <MasterTableView Width="100%" HierarchyDefaultExpanded="True" HierarchyLoadMode="ServerBind"> <Columns> <telerik:GridBoundColumn DataField="WoNumber" FilterControlAltText="Filter WoNumber column" HeaderText="WoNumber" ReadOnly="True" SortExpression="WoNumber" UniqueName="WoNumber"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Title" FilterControlAltText="Filter Title column" HeaderText="Title" ReadOnly="True" SortExpression="Title" UniqueName="Title"> </telerik:GridBoundColumn> </Columns> <DetailTables> <telerik:GridTableView Name="SubLevel1" ShowHeadersWhenNoRecords="false" AutoGenerateColumns="false"> <%-- This level holds items of Type2 --%> <Columns> <telerik:GridBoundColumn DataField="ID" FilterControlAltText="Filter ID column" HeaderText="ID" ReadOnly="True" SortExpression="ResourceId" UniqueName="ID"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="PlannedHours" DataType="System.Decimal" FilterControlAltText="Filter PlannedHours column" HeaderText="Planned Hrs" ReadOnly="True" SortExpression="PlannedHours" UniqueName="PlannedHours"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="RemainingHours" DataType="System.Decimal" FilterControlAltText="Filter RemainingHours column" HeaderText="Remaining Hrs" ReadOnly="True" SortExpression="RemainingHours" UniqueName="RemainingHours"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Workers" DataType="System.Int32" FilterControlAltText="Filter Workers column" HeaderText="# Workers" ReadOnly="True" SortExpression="Workers" UniqueName="Workers"> </telerik:GridBoundColumn> </Columns> </telerik:GridTableView> </DetailTables> <EditFormSettings> <EditColumn FilterControlAltText="Filter EditCommandColumn column"></EditColumn> </EditFormSettings> <GroupHeaderItemStyle Height="32px" /> <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column"></RowIndicatorColumn> <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column"></ExpandCollapseColumn> </MasterTableView> <GroupingSettings GroupContinuesFormatString="" GroupContinuedFormatString=""></GroupingSettings> <FilterMenu EnableImageSprites="False"></FilterMenu> <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Sunset"></HeaderContextMenu> </telerik:RadGrid> <telerik:AjaxSetting AjaxControlID="button"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadGridRecords" LoadingPanelID="RadAjaxLoadingPanel2" /> </UpdatedControls> </telerik:AjaxSetting>
<telerik:RadPanelBar ID="RadPanelBar1" runat="server" EnableEmbeddedSkins="false"
Height="100%" ExpandMode="SingleExpandedItem" Skin="ShowCategory" Width="100%"
AllowCollapseAllItems="false" OnClientItemClicking="OnClientItemClicking">
</telerik:RadPanelBar> <script type="text/jscript">
function OnClientItemClicking(sender, args) {
debugger;
if (args.get_item().get_level() == 0) {
args.set_cancel(true);
args.get_item().set_expanded(!args.get_item().get_expanded());
}
}
</script><telerik:RadGrid ID="RadGrid1" runat="server" style="margin-left:5px" AllowPaging="True" AllowCustomPaging="True" AllowFilteringByColumn="True" AllowSorting="True" DataSourceID="SqlDataSource1" GridLines="None"> <MasterTableView DataSourceID="SqlDataSource1" AutoGenerateColumns="False" PagerStyle-Position="TopAndBottom" PagerStyle-AlwaysVisible="true" PagerStyle-Mode="NextPrevAndNumeric" PageSize="10"> <RowIndicatorColumn> <HeaderStyle Width="20px"></HeaderStyle> </RowIndicatorColumn> <ExpandCollapseColumn> <HeaderStyle Width="20px"></HeaderStyle> </ExpandCollapseColumn> <Columns> <telerik:GridBoundColumn DataField="OrderDate" DataType="System.DateTime" HeaderText="Order Date" SortExpression="OrderDate" CurrentFilterFunction="Contains" AutoPostBackOnFilter="true" UniqueName="OrderDate"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="FirstName" HeaderText="First Name" SortExpression="FirstName" CurrentFilterFunction="Contains" AutoPostBackOnFilter="true" UniqueName="FirstName"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Email" HeaderText="Email" SortExpression="Email" CurrentFilterFunction="Contains" AutoPostBackOnFilter="true" UniqueName="Email"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="GreetingCode" HeaderText="Greeting Code" SortExpression="GreetingCode" CurrentFilterFunction="Contains" AutoPostBackOnFilter="true" UniqueName="GreetingCode"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="ChildFirstName" HeaderText="Child's FirstName" SortExpression="ChildFirstName" CurrentFilterFunction="Contains" AutoPostBackOnFilter="true" UniqueName="ChildFirstName"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="ChildLastName" HeaderText="Child's LastName" SortExpression="ChildLastName" CurrentFilterFunction="Contains" AutoPostBackOnFilter="true" UniqueName="ChildLastName"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="ChildGender" HeaderText="Child's Gender" SortExpression="ChildGender" CurrentFilterFunction="Contains" AutoPostBackOnFilter="true" UniqueName="ChildGender"> </telerik:GridBoundColumn> </Columns> </MasterTableView></telerik:RadGrid>