|
Requirements |
|
| RadControls version 2012 q2 | |
| .NET version 4 | |
| Visual Studio version 2010 | |
| programming language c# | |
| browsers |
supported by RadControls |
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="RelationGrid.aspx.cs" Inherits="RelationGrid" Debug="true" %><%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" <html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title></head><body> <form id="form1" runat="server"> <telerik:RadScriptManager ID="RadScriptManager1" runat="server" /> <div> <% Response.Write(DateTime.Now.ToString()); %> <telerik:RadGrid ID="RadGrid1" OnPreRender="RadGrid1_PreRender" runat="server" ShowStatusBar="true" DataSourceID="SqlDataSource1" AutoGenerateColumns="False" AllowSorting="True" AllowMultiRowSelection="False" GridLines="None" EnableViewState="true" > <PagerStyle Mode="NumericPages"></PagerStyle> <MasterTableView DataSourceID="SqlDataSource1" DataKeyNames="nGroupID" AllowMultiColumnSorting="True" HierarchyDefaultExpanded="true" > <DetailTables> <telerik:GridTableView DataKeyNames="nSubGroupID" DataSourceID="SqlDataSource2" Width="100%" runat="server" HierarchyDefaultExpanded="true" EnableViewState="true" > <ParentTableRelation> <telerik:GridRelationFields DetailKeyField="nGroupID" MasterKeyField="nGroupID" /> </ParentTableRelation> <DetailTables> <telerik:GridTableView DataKeyNames="QuoteSubID" DataSourceID="SqlDataSource3"Width="100%" runat="server" HierarchyDefaultExpanded="true" EnableViewState="true"> <ParentTableRelation> <telerik:GridRelationFields DetailKeyField="nSubGroupID"MasterKeyField="nSubGroupID" /> </ParentTableRelation> <DetailTables> <telerik:GridTableView DataKeyNames="CatId" DataSourceID="SqlDataSource4"Width="100%" runat="server" HierarchyDefaultExpanded="true" EnableViewState="true" > <ParentTableRelation> <telerik:GridRelationFields DetailKeyField="QuoteSubID"MasterKeyField="QuoteSubID" /> </ParentTableRelation> <Columns> <telerik:GridBoundColumn HeaderText="KIT ITEM" DataField="CDescription"UniqueName="CDescription"> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="Quantity" DataField="quotekitqty"UniqueName="quotekitqty"> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="Type" DataField="cattype"UniqueName="cattype"> </telerik:GridBoundColumn> </Columns> </telerik:GridTableView> </DetailTables> <Columns> <telerik:GridBoundColumn HeaderText="QuoteSubID" DataField="QuoteSubID"UniqueName="QuoteSubID"> </telerik:GridBoundColumn> <telerik:GridCheckBoxColumn HeaderText="K" DataField="CatPrint"UniqueName="CatPrint"> <HeaderStyle Font-Bold="true" /> </telerik:GridCheckBoxColumn> <telerik:GridCheckBoxColumn HeaderText="B" DataField="QuoteHeading"UniqueName="QuoteHeading"> <HeaderStyle Font-Bold="true" /> </telerik:GridCheckBoxColumn> <telerik:GridCheckBoxColumn HeaderText="I" DataField="nItalic"UniqueName="nItalic"> <HeaderStyle Font-Bold="true" Font-Italic="true" /> </telerik:GridCheckBoxColumn> <telerik:GridBoundColumn HeaderText="Use Quantity" DataField="Quantity"UniqueName="Quantity"> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="Bill Quantity" DataField="BillQuantity"UniqueName="Quantity"> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="Period" DataField="Period"UniqueName="Period"> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="CDescription" DataField="CDescription"UniqueName="CDescription"> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="Note" DataField="QuoteDescription"UniqueName="QuoteDescription"> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="Reg Rate" DataField="SuggestedRate"UniqueName="SuggestedRate"> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="Disc%" DataField="DiscountPercent"UniqueName="DiscountPercent"> <HeaderStyle ForeColor="AliceBlue" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="Disc Rate" DataField="DiscountRate"UniqueName="DiscountRate"> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="Line Total" DataField="Sum"UniqueName="Sum"> </telerik:GridBoundColumn> </Columns> </telerik:GridTableView> </DetailTables> <Columns> <%--<telerik:GridBoundColumn HeaderText="SubGroupID" DataField="nSubGroupID"UniqueName="nSubGroupID"> <HeaderStyle BackColor="Gray" ForeColor="Red" /> </telerik:GridBoundColumn>--%> <telerik:GridBoundColumn HeaderText="SubGroup Name" DataField="tSubGroupName"UniqueName="tSubGroupName"> <ItemStyle BackColor="Gray" ForeColor="Red" /> </telerik:GridBoundColumn> </Columns> </telerik:GridTableView> </DetailTables> <Columns> <%--<telerik:GridBoundColumn HeaderText="GroupID" DataField="nGroupID" UniqueName="nGroupID"> <HeaderStyle BackColor="Gray" ForeColor="Red" /> </telerik:GridBoundColumn>--%> <telerik:GridBoundColumn HeaderText="GroupName" DataField="tGroupName" UniqueName="tGroupName"> <ItemStyle BackColor="Gray" ForeColor="Red" /> </telerik:GridBoundColumn> </Columns> </MasterTableView> </telerik:RadGrid> <asp:SqlDataSource ID="SqlDataSource1" runat="server" SelectCommand="select * from GroupMaster with(noLock) where tQuoteID =43617 ORDER BY (CASE WHEN tgroupname = '[EXTRAS]' THEN 99991 ELSE (case when tgroupname='[ADJUSTMENTS]' then 99992 ELSE (case WHEN tgroupname='[INTERNAL USE ONLY]' THEN 99993 ELSE tGroupLineNumber END) END) END ) " ConnectionString="<%$ ConnectionStrings:DatasetConnString %>"></asp:SqlDataSource> <asp:SqlDataSource ID="SqlDataSource2" ConnectionString="<%$ ConnectionStrings:DatasetConnString %>" ProviderName="System.Data.SqlClient" SelectCommand="select * from subgroupmaster with(noLock) where ngroupid=@nGroupID order by tsubgrouplinenumber" runat="server"> <SelectParameters> <asp:SessionParameter Name="nGroupID" SessionField="nGroupID" Type="string" /> </SelectParameters> </asp:SqlDataSource> <asp:SqlDataSource ID="SqlDataSource3" ConnectionString="<%$ ConnectionStrings:DatasetConnString %>" ProviderName="System.Data.SqlClient" SelectCommand="SELECT dbo.tblQuoteSub.QuoteSubSync, dbo.tblQuoteSub.QuoteSubID, dbo.tblQuoteSub.QuoteId, dbo.tblQuoteSub.nSubGroupID, dbo.tblQuoteSub.nGroupID, dbo.tblQuoteSub.CatPrint, dbo.tblCat.CatType, dbo.tblQuoteSub.LineNumber, dbo.tblQuoteSub.QuoteHeading, dbo.tblQuoteSub.nItalic, dbo.tblQuoteSub.Quantity, dbo.tblQuoteSub.BillQuantity, dbo.tblQuoteSub.Period, dbo.tblQuoteSub.CategoryID, dbo.tblCat.CDescription, dbo.tblQuoteSub.QuoteDescription, dbo.tblQuoteSub.SuggestedRate, dbo.tblQuoteSub.DiscountPercent, dbo.tblQuoteSub.DiscountRate, (dbo.tblQuoteSub.SuggestedRate * dbo.tblQuoteSub.Period * dbo.tblQuoteSub.BillQuantity) * (1 - CAST(dbo.tblQuoteSub.DiscountPercent AS float) / 100) AS [Sum], dbo.tblQuoteSub.QuoteKitParentId, dbo.tblQuoteSub.EquipTotal, dbo.tblQuoteSub.EquipAvailable, dbo.tblQuoteSub.Equip_NonConfirmed, dbo.tblQuoteSub.CompanyWideEquipAvailable, dbo.tblQuoteSub.QuoteSubParentId, dbo.tblQuoteSub.QuoteCancelParentId, dbo.tblQuoteSub.QuoteCancelChildId, dbo.tblQuoteSub.QuoteSubstituteParentId, dbo.tblQuoteSub.QuoteFloatParentId, dbo.tblQuoteSub.QuoteSFRParentId, dbo.tblQuoteSub.QuoteSFRChildId, dbo.tblQuoteSub.QuoteSubEnteredBy, dbo.tblQuoteSub.QuoteSubEnteredDate, dbo.tblQuoteSub.QuoteSubLastModifiedBy, dbo.tblQuoteSub.QuoteSubLastModifiedDate, dbo.tblQuoteSub.QuoteHeaderFooterId FROM dbo.tblQuoteSub with(noLock) INNER JOIN dbo.tblCat with(noLock) ON dbo.tblQuoteSub.CategoryID = dbo.tblCat.CatId INNER JOIN dbo.SubGroupMaster with(noLock) ON dbo.tblQuoteSub.nSubGroupID = dbo.SubGroupMaster.nSubGroupID INNER JOIN dbo.GroupMaster with(noLock) ON dbo.SubGroupMaster.nGroupID = dbo.GroupMaster.nGroupID where tblquotesub.quoteid=43617 and tblquotesub.nsubgroupid=@nSubGroupID and (quotekitparentid = 0 OR QuoteKitParentID IS NULL) ORDER BY dbo.tblQuoteSub.LineNumber" runat="server"> <SelectParameters> <asp:SessionParameter Name="nSubGroupID" SessionField="nSubGroupID" Type="Int32" /> </SelectParameters> </asp:SqlDataSource> <asp:SqlDataSource ID="SqlDataSource4" ConnectionString="<%$ ConnectionStrings:DatasetConnString %>" ProviderName="System.Data.SqlClient" SelectCommand="SELECT tblcat.cattype,tblCat.CDescription, tblCat.CatId, quotekitqty, tblquotesub.quotecatkitautoid, QuoteSubID,Quantity,BillQuantity , QuoteKitQty,QuoteKitParentId FROM tblQuoteSub with(noLock) INNER JOIN tblCat with(noLock) ON tblQuoteSub.CategoryID = tblCat.CatId where QuoteKitParentId=@QuoteSubID ORDER BY linenumber" runat="server"> <SelectParameters> <asp:SessionParameter Name="QuoteSubID" SessionField="QuoteSubID" Type="Int32" /> </SelectParameters> </asp:SqlDataSource> <% Response.Write(DateTime.Now.ToString()); %> </div> </form></body></html>txtBox.TextMode = TextBoxMode.MultiLinetxtBox.Enabled = False
<%@ Page Title="My Availability" Language="vb" AutoEventWireup="false" MasterPageFile="~/AvailabilityLinksSubMaster.master" CodeBehind="MyAvailability.aspx.vb" Inherits="MSP.MyAvailability" %>
<%@ MasterType virtualpath="~/AvailabilityLinksSubMaster.master" %>
<%@ Register assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" namespace="System.Web.UI.DataVisualization.Charting" tagprefix="asp" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<%@ Register TagPrefix="scheduler" TagName="AdvancedForm" Src="AdvancedFormVB.ascx" %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
<style type="text/css">
div.RadScheduler .rcOtherMonth
{
}
div.RadScheduler .rsAllDayHeader,
div.RadScheduler .rsVerticalHeaderTable div
{
font-weight: bold;
text-align: right;
}
.rsApt
{
width: 45%!important;
}
.rsAllDayRow .rsWrap
{
display:none !important;
}
div.RadToolTip table.rtWrapper td.rtWrapperContent
{
background-color:none !important;
background-image: url("../Images/Menu_Bkgrd_Normal2.png") !important;
}
.ScreenOnly {display : none;}
.style1
{
width: 388px;
}
.style2
{
width: 216px;
}
.style3
{
width: 197px;
}
</style>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="TabContent" runat="server">
<!-- My Messages -->
<asp:UpdatePanel ID="upMyMessages" runat="server" UpdateMode="Always" >
<ContentTemplate>
<asp:Panel ID="pnlMyMsgs" runat="server" CssClass="mymsgs" ScrollBars="Auto">
<asp:Label ID="lblMessage" runat="server" Text="MESSAGES: " Font-Bold="true"></asp:Label>
<asp:Table ID="tblMyMsgs" runat="server" Width="98%" Font-Size="Small" CellPadding="0" CellSpacing="0">
</asp:Table>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
<script type="text/javascript">
function TimeRangeOnclick() {
var scheduler = $find('<%=RadScheduler1.ClientID %>');
var appointment = scheduler.get_appointments().findByID(59);
scheduler.editAppointmentWithConfirmation(appointment);
};
function hideActiveToolTip()
{
var tooltip = Telerik.Web.UI.RadToolTip.getCurrent();
if (tooltip)
{
tooltip.hide();
}
}
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequestHandler);
function beginRequestHandler(sender, args)
{
var prm = Sys.WebForms.PageRequestManager.getInstance();
if (args.get_postBackElement().id.indexOf('RadScheduler1') != -1)
{
hideActiveToolTip();
}
}
function OnClientRequestStart(sender, args)
{
args.set_cancel(true);
var tooltip = Telerik.Web.UI.RadToolTip.getCurrent();
if (tooltip)
{
var element = tooltip.get_targetControl();
var apt = $find("<%=RadScheduler1.ClientID %>").getAppointmentFromDomElement(element);
<%--
$get("startTime").innerHTML = apt.get_start().format("MM/dd/yyyy HH:mm");
$get("endTime").innerHTML = apt.get_end().format("MM/dd/yyyy HH:mm");
--%>
$get("descriptionDiv").innerHTML = "double click to edit your preference";
tooltip.set_text($get("contentContainer").innerHTML);
}
}
function RadAlertCallBackFunction(){
//this function handles the event when user clicks on the alert OK button
//presently nothing is implemented
}
</script>
</telerik:RadCodeBlock>
<!-- Start Header -->
<!-- End Header -->
<table cellpadding="0" cellspacing="0" class="style5" cols="1" width="100%">
<tr>
<td valign="top">
<!-- Top Menu -->
<!-- End Top Menu -->
<!-- Start Workspace -->
<div id="Workspace" align="left" class="style6">
<div id="PrintViewHeader" style="display: none;">
<table border="0" cellpadding="1" cellspacing="1" cols="2" width="98%">
<tbody class="SiteTextSmall">
<tr>
<td align="center" class="PageHeading">
Availability</td>
</tr>
<tr class="ScreenOnly">
<td align="left">
<span class="SiteTextboldRed">For best results, change your printer setting to
landscape. </span>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Schedule option -->
<table border="0" cellpadding="1" cellspacing="1" cols="1" width="98%">
<tbody class="SiteTextSmall">
<tr>
<td colspan="1" rowspan="1">
<telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" Width="100%">
<table id="tblAdvancedSearch">
<tr>
<td class="style2">
<p align="center" dir="rtl" style="font-weight: bold">Schedule Option<br />
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True"
Font-Bold="True" Font-Size="Smaller" Enabled="False">
<asp:ListItem>Part-Time 12 to 20 Assigned Hours</asp:ListItem>
</asp:DropDownList>
</p>
<p align="center"> Select a Schedule Option for assigned hours<br />(balance of
weekly hours self selected):</p>
<br /><br />
</td>
<td class="style1">
<span style="font-size: x-small; font-weight: bold;">Your availability selections will need to conform to the following work rules:</span>
<br />
<telerik:RadTextBox ID="RadTextBoxScheduleOptionsDescription" runat="server"
ReadOnly="True" Rows="5" TextMode="MultiLine" Width="500px" Wrap="False"
DisabledStyle-BorderStyle="None" EnabledStyle-BorderStyle="Solid"
Font-Size="X-Small" DisabledStyle-HorizontalAlign="NotSet"
EnabledStyle-HorizontalAlign="Left" Columns="35" BorderStyle="None">
<DisabledStyle BorderStyle="None" />
<EnabledStyle HorizontalAlign="Left" />
</telerik:RadTextBox>
</td>
<td class="style3">
<asp:Button ID="ButtonSaveTop" runat="server" Text="Submit" ForeColor="White" BackColor="#CC0000" BorderStyle="Outset" Font-Bold="True" />  
<asp:Button ID="ButtonCancelTop" runat="server" Text="Reset" />
</td>
<td class="style3">
<span>Links to documents:</span>
<ul>
<li>
<asp:LinkButton ID="LinkButton1" runat="server">Link To Document 1</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LinkButton2" runat="server">Link To Document 2</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LinkButton3" runat="server">Link To Document 3</asp:LinkButton>
</li>
</ul>
</td>
</tr>
</table>
<span style="font-weight: bold; font-size: medium; color: #666666; background-color: #FFFFFF;"> Avaialbility and Preferences</span>
<span> (To Edit, double click on an Avaialbility Time Segment. To Add a New Time Segment, double click anywhere outside. To Delete, click once and click the red X.)</span>
<div>
<telerik:RadScheduler ID="RadScheduler1" runat="server" DayEndTime="23:59:59"
RowHeight="16px" SelectedView="WeekView"
WorkDayEndTime="8.00:00:00" WorkDayStartTime="00:00:00"
AllowDelete="False"
NumberOfHoveredRows="1" SelectedDate="2012-04-16"
EnableExactTimeRendering="True" Height="460px" Skin="Office2010Black"
onclientappointmentcontextmenu="hideActiveToolTip"
onclientappointmentdoubleclick="hideActiveToolTip"
onclientrecurrenceactiondialogshowing="hideActiveToolTip"
OverflowBehavior="Expand">
<AdvancedEditTemplate>
<scheduler:AdvancedForm runat="server" ID="AdvancedEditForm1" Mode="Edit"
Subject='<%# Bind("Subject") %>'
Description='<%# Bind("Description") %>'
Start='<%# Bind("Start") %>'
End='<%# Bind("End") %>'
RecurrenceRuleText='<%# Bind("RecurrenceRule") %>'
Reminder='<%# Bind("Reminder") %>'
UserID='<%# Bind("User") %>'
RoomID='<%# Bind("Room") %>'
TimeZoneID='<%# Bind("TimeZoneID") %>' />
<%--AppointmentColor='<%# Bind("AppointmentColor") %>' --%>
</AdvancedEditTemplate>
<AdvancedInsertTemplate>
<scheduler:AdvancedForm runat="server" ID="AdvancedInsertForm1" Mode="Insert"
Subject='<%# Bind("Subject") %>'
Start='<%# Bind("Start") %>'
End='<%# Bind("End") %>'
Description='<%# Bind("Description") %>'
RecurrenceRuleText='<%# Bind("RecurrenceRule") %>'
Reminder='<%# Bind("Reminder") %>'
UserID='<%# Bind("User") %>'
RoomID='<%# Bind("Room") %>'
TimeZoneID='<%# Bind("TimeZoneID") %>' />
<%--AppointmentColor='<%# Bind("AppointmentColor") %>' --%>
</AdvancedInsertTemplate>
<AdvancedForm Modal="True" Width="400px" />
<ResourceTypes>
<telerik:ResourceType DataSourceID="SqlDataSource2" ForeignKeyField="USERID"
KeyField="ID" Name="Users" TextField="USERNAME" />
</ResourceTypes>
<TimelineView UserSelectable="False" />
<WeekView DayEndTime="23:59:59" ColumnHeaderDateFormat="dddd"
GroupingDirection="Vertical" />
<Localization AdvancedEditAppointment="Edit" AdvancedNewAppointment="New"
AllDay="Range" />
<MonthView FirstDayHeaderDateFormat="MMMM dd" ColumnHeaderDateFormat="MMMM dddd"
HeaderDateFormat="MMMM, yyyy" />
</telerik:RadScheduler>
</div>
<div align="center">
</div>
<%-- <asp:SqlDataSource
ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
DeleteCommand="DELETE FROM "AVAILABILITY_TEST" WHERE "ID" = :ID"
InsertCommand="INSERT INTO "AVAILABILITY_TEST" ("ID", "SUBJECT", "START_TIME", "END_TIME", "USERID", "RECURRENCERULE", "RECURRENCEPARENTID") VALUES (:ID, :SUBJECT, :START_TIME, :END_TIME, :USERID, :RECURRENCERULE, :RECURRENCEPARENTID)"
ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>"
SelectCommand="SELECT * FROM "AVAILABILITY_TEST""
UpdateCommand="UPDATE "AVAILABILITY_TEST" SET "SUBJECT" = :SUBJECT, "START_TIME" = :START_TIME, "END_TIME" = :END_TIME, "USERID" = :USERID, "RECURRENCERULE" = :RECURRENCERULE, "RECURRENCEPARENTID" = :RECURRENCEPARENTID WHERE "ID" = :ID">
<DeleteParameters>
<asp:Parameter Name="ID" Type="Decimal" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="ID" Type="Decimal" />
<asp:Parameter Name="SUBJECT" Type="String" />
<asp:Parameter Name="START_TIME" Type="DateTime" />
<asp:Parameter Name="END_TIME" Type="DateTime" />
<asp:Parameter Name="USERID" Type="Decimal" />
<asp:Parameter Name="RECURRENCERULE" Type="String" />
<asp:Parameter Name="RECURRENCEPARENTID" Type="Decimal" />
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="SUBJECT" Type="String" />
<asp:Parameter Name="START_TIME" Type="DateTime" />
<asp:Parameter Name="END_TIME" Type="DateTime" />
<asp:Parameter Name="USERID" Type="Decimal" />
<asp:Parameter Name="RECURRENCERULE" Type="String" />
<asp:Parameter Name="RECURRENCEPARENTID" Type="Decimal" />
<asp:Parameter Name="ID" Type="Decimal" />
</UpdateParameters>
</asp:SqlDataSource><asp:SqlDataSource
ID="SqlDataSource2" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>"
SelectCommand="SELECT "ID", "USERNAME" FROM "AVAILABILITY_TEST_USERS"">
</asp:SqlDataSource>--%>
<telerik:RadToolTipManager runat="server" ID="RadToolTipManager1" Width="130"
Height="40" Skin = ""
OnAjaxUpdate="RadToolTipManager1_AjaxUpdate" />
<div style="display: none;">
<div id="contentContainer">
<%--
Starts on: <span id="startTime"></span>
<br />
Ends on: <span id="endTime"></span>
<hr />
Description:
--%>
<div id="descriptionDiv">
</div>
</div>
</div>
</telerik:RadAjaxPanel>
</td>
</tr>
</tbody>
</table>
<!-- Permanent availability -->
</div>
</td>
</tr>
</table>
<!-- End Workspace -->
</asp:Content>