<frameset border="0" rows="75,*,10" id="0"> <frame name="contentmenu" src="<%=menuUrl%>" scrolling="no" noresize="noresize" frameborder="0" /> <frameset border="0" cols="284,*" frameborder="0" framespacing="0" runat="server" id="colsFrameset" enableviewstate="false"> <frame name="contenttree" src="ContentMenu.aspx" scrolling="no" frameborder="0" framespacing="0" border="0" runat="server" id="frameTree" class="TreeFrame" /> <frame name="contentview" src="../UnderConstruction.aspx" frameborder="0" border="0" framespacing="0" runat="server" id="frameView" /> </frameset> <frame name="contentfooter" src="footer.aspx" scrolling="no" noresize="noresize" frameborder="0" /> <noframes> <p id="p1"> This HTML frameset displays multiple Web pages. To view this frameset, use a Web browser that supports HTML 4.0 and later. </p> </noframes> </frameset><script type="text/javascript">
//<![CDATA[
function LoadItem(elementName, elementUrl) {
parent.frames['contentview'].location.href = elementUrl;
}
//]]>
</script>
<telerik:RadTreeView ID="RadTreeView1" runat="server" CausesValidation="false " OnNodeClick="RadTreeView1_NodeClick" OnContextMenuItemClick="RadTreeView1_ContextMenuItemClick"> <ContextMenus> <telerik:RadTreeViewContextMenu ID="RadTreeViewContextMenu1" runat="server"> <Items> <telerik:RadMenuItem runat="server" Text="Add New Page" PostBack="true"> </telerik:RadMenuItem> <telerik:RadMenuItem runat="server" Text="Remove" PostBack="true"> </telerik:RadMenuItem> </Items> </telerik:RadTreeViewContextMenu> </ContextMenus> <DataBindings> <telerik:RadTreeNodeBinding Expanded="true" /> </DataBindings> </telerik:RadTreeView>protected void RadTreeView1_NodeClick(object sender, RadTreeNodeEventArgs e) { this.NodeText = e.Node.Value; }protected void RadTreeView1_ContextMenuItemClick(object sender, RadTreeViewContextMenuEventArgs e) { if (e.MenuItem.Text == "Add New Page") { //radpanel1.Visible = true; //txtTile.Text = this.NodeText; e.MenuItem.NavigateUrl = "http://www.google.com"; e.MenuItem.Target = "contentview"; } else if (e.MenuItem.Text == "Remove") { RadTreeView1.SelectedNode.Remove(); } }<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="GridButtonIndex.aspx.cs" Inherits="TestTelerikWebApp.GridButtonIndex" %> <!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 ID="RadScriptManager1" runat="server"> </telerik:RadScriptManager> <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server"> <script type="text/javascript"> function OnGridCommand(sender, args) { var grid = sender; debugger; if (args.get_commandName() == "InitInsert" && grid._editIndexes[0] >= 0) { alert("Cannot add while editing a record."); args.set_cancel(true); } if (args.get_commandName() == "Delete") { if (grid._editIndexes[0] >= 0) { alert("Cannot delete while editing a record."); args.set_cancel(true); } else var value = confirm("Are you sure you want to delete?"); if (!value) args.set_cancel(true); } } </script> </telerik:RadCodeBlock> <div> <telerik:RadGrid ID="dgTest" runat="server" AutoGenerateColumns="False" GridLines="None" OnItemCommand="dgTest_ItemCommand" OnNeedDataSource="dgTest_NeedDataSource"> <ClientSettings> <ClientEvents OnCommand="OnGridCommand" /> </ClientSettings> <MasterTableView> <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="Description" FilterControlAltText="Filter colDesc column" HeaderText="Description" UniqueName="colDesc"> </telerik:GridBoundColumn> <telerik:GridButtonColumn ButtonType="PushButton" CommandName="TestClick" FilterControlAltText="Filter colButt column" Text="Press Me" UniqueName="colButt"> </telerik:GridButtonColumn> </Columns> <EditFormSettings> <EditColumn FilterControlAltText="Filter EditCommandColumn column"> </EditColumn> </EditFormSettings> </MasterTableView> <FilterMenu EnableImageSprites="False"> </FilterMenu> <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default"> </HeaderContextMenu> </telerik:RadGrid> </div> <asp:Label ID="lblFeedback" runat="server"></asp:Label> <telerik:RadAjaxManager runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="dgTest"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="dgTest" /> <telerik:AjaxUpdatedControl ControlID="lblFeedback" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> </form> </body> </html> using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using Telerik.Web.UI; namespace TestTelerikWebApp { public partial class GridButtonIndex : System.Web.UI.Page { protected DataTable GetData() { DataTable dt = new DataTable(); dt.Columns.Add("Id", typeof(int)); dt.Columns.Add("Description", typeof(string)); DataRow dr = dt.NewRow(); dr["Id"] = 1; dr["Description"] = "Test 1"; dt.Rows.Add(dr); dr = dt.NewRow(); dr["Id"] = 2; dr["Description"] = "Test 2"; dt.Rows.Add(dr); dr = dt.NewRow(); dr["Id"] = 3; dr["Description"] = "Test 3"; dt.Rows.Add(dr); return dt; } protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { } } protected void dgTest_NeedDataSource(object sender, GridNeedDataSourceEventArgs e) { RadGrid rg = (RadGrid)sender; rg.DataSource = GetData(); } protected void dgTest_ItemCommand(object sender, GridCommandEventArgs e) { if (e.CommandName == "TestClick") { GridEditableItem gei = (GridEditableItem)(e.Item); lblFeedback.Text = "Item Index is : " + gei.ItemIndex.ToString(); } } } }<telerik:RadComboBox ID="cboUserDealerAccess" runat="server"
DataSourceID="SqlDataSource6"
DataTextField="LastName"
DataValueField="UserInfoID" />
<asp:SqlDataSource runat="server" ID="SqlDataSource6" ConnectionString="<%$ ConnectionStrings:FT_Data %>"
ProviderName="System.Data.SqlClient" SelectCommand="SELECT [LastName], [UserInfoID] FROM [UserInfo] ORDER By LastName" />
<telerik:RadListBox runat="server" ID="lstLoggedInUserAccess" Height="200px" Width="230px"
AllowTransfer="true" TransferToID="lstSelectedUserAccess" TransferMode="Copy" SelectionMode="Single" DataSourceID="SqlDataSource5" DataTextField="DealerName" DataKeyField="DealerID" DataValueField="DealerID" AutoPostBackOnTransfer="true"/>
<asp:SqlDataSource ID="SqlDataSource5" runat="server" ConnectionString="<%$ ConnectionStrings:FT_Data %>" ProviderName="System.Data.SqlClient"
SelectCommand="SELECT [DealerID], [DealerName] FROM [Dealer] ORDER By DealerName" OldValuesParameterFormatString="original_{0}" ConflictDetection="CompareAllValues" />
<telerik:RadListBox runat="server" ID="lstSelectedUserAccess" Height="200px" Width="200px"
SelectionMode="Single" DataSourceID="SqlDataSource7" DataKeyField="DealerID" DataTextField="DealerName" DataValueField="DealerID" AllowAutomaticUpdates="true" AllowReorder="false" AllowDelete="True"
AutoPostBackOnDelete="true" AllowTransfer="false"/>
<asp:SqlDataSource ID="SqlDataSource7" runat="server" ConnectionString="<%$ ConnectionStrings:FT_Data %>" ProviderName="System.Data.SqlClient"
SelectCommand="SELECT [Dealer].[DealerID], [Dealer].[DealerName] FROM [UserDealer] INNER JOIN [Dealer] ON [UserDealer].[DealerId] = [Dealer].[DealerID] WHERE ([UserDealer].[UserInfoId] = @UserInfoID)"
InsertCommand="INSERT INTO [UserDealer] ([UserInfoID], [DealerID]) VALUES (@UserInfoID, @DealerID)"
DeleteCommand="DELETE FROM [UserDealer] WHERE (UserInfoId = @UserInfoID and DealerId = @DealerID)"
OldValuesParameterFormatString="original_{0}" ConflictDetection="CompareAllValues" >
<DeleteParameters>
<asp:ControlParameter Name="DealerID" Type="Int32" ControlID="lstSelectedUserAccess" PropertyName="SelectedValue" /> <asp:ControlParameter Name="UserInfoID" DbType="Int32" ControlID="cboUserDealerAccess" PropertyName="SelectedValue"/>
</DeleteParameters>
<InsertParameters>
<asp:ControlParameter Name="DealerID" Type="Int32" ControlID="lstLoggedInUserAccess" PropertyName="SelectedValue" />
<asp:ControlParameter Name="UserInfoID" DbType="Int32" ControlID="cboUserDealerAccess" PropertyName="SelectedValue"/>
</InsertParameters>
<SelectParameters>
<asp:ControlParameter Name="UserInfoID" DbType="Int32" ControlID="cboUserDealerAccess" PropertyName="SelectedValue"/>
</SelectParameters>
</asp:SqlDataSource>
When I change the INSERT parameter to this (see below) then it comes back empty and gives an error "Cannot Insert a Null..."
<asp:Parameter Name="DealerID" Type="Int32"/>
provider =
new XmlSchedulerProvider(Server.MapPath("~/App_Data/test.xml"), false);
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Calendar.ascx.cs" Inherits="CMSWebParts_Grafica_Calendar" %> <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> <style type="text/css"> .example-panel { width: 743px; height:560px; padding-top: 34px; padding-left: 7px; } .example-panel .title { color:#000; font: 14px 'Segoe UI', Arial, sans-serif; position:absolute; top: 5px; padding-left: 5px; } .RadSplitter { border: none !important; margin: 0 !important; } .RadPanelBar .rootGroup { border-left: none; border-right: none; } .calendar-container { width:220px; margin: 7px auto; } #RadScheduler1Panel { width: 100%; overflow: hidden; } div.RadScheduler { width: 100%; } /* Styles for the appointment Subject */ .RadScheduler .rsAptSubject { text-align: left; margin: 0 0 3px; font-size: 11px; font-weight: bold; color: #369; height: 17px; border-bottom: 1px solid #8bf; width: 100%; } /* Remove the Subject underline for all-day appointments */ .RadScheduler .rsAllDayRow .rsAptSubject { border-bottom: none; } </style> <script type="text/javascript"> /* Firefox resize scrollable content */ function hideScrollableArea(sender, eventArgs) { if ($telerik.isFirefox) $telerik.$('.rsContentScrollArea').css('overflow', 'hidden'); } function showScrollableArea(sender, eventArgs) { if ($telerik.isFirefox) $telerik.$('.rsContentScrollArea').css('overflow', 'auto'); } </script> <telerik:RadAjaxManager runat="Server" ID="RadAjaxManager1"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="RadCalendar1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadCalendar2" /> <telerik:AjaxUpdatedControl ControlID="RadScheduler1" LoadingPanelID="RadAjaxLoadingPanel1" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="RadCalendar2"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadCalendar1" /> <telerik:AjaxUpdatedControl ControlID="RadScheduler1" LoadingPanelID="RadAjaxLoadingPanel1" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="chkDevelopment"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadScheduler1" LoadingPanelID="RadAjaxLoadingPanel1" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="chkMarketing"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadScheduler1" LoadingPanelID="RadAjaxLoadingPanel1" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="chkQ1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadScheduler1" LoadingPanelID="RadAjaxLoadingPanel1" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="chkQ2"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadScheduler1" LoadingPanelID="RadAjaxLoadingPanel1" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="RadScheduler1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadScheduler1" LoadingPanelID="RadAjaxLoadingPanel1" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Skin="WebBlue" /> <div class="example-panel exampleContainer"> <div class="title">My Schedule</div> <telerik:RadSplitter runat="server" ID="RadSplitter1" PanesBorderSize="0" Width="720px" Height="100%" Skin="WebBlue"> <telerik:RadPane runat="Server" ID="leftPane" Width="240px" MinWidth="240" MaxWidth="300" Height="100%" Scrolling="None" OnClientResizing="hideScrollableArea" OnClientResized="showScrollableArea" OnClientExpanding="hideScrollableArea" OnClientExpanded="showScrollableArea" OnClientCollapsing="hideScrollableArea" OnClientCollapsed="showScrollableArea"> <div class="calendar-container"> <telerik:RadCalendar runat="server" ID="RadCalendar1" Skin="WebBlue" AutoPostBack="true" EnableMultiSelect="false" DayNameFormat="FirstTwoLetters" EnableNavigation="true" EnableMonthYearFastNavigation="false" OnSelectionChanged="RadCalendar1_SelectionChanged" OnDefaultViewChanged="RadCalendar1_DefaultViewChanged"> </telerik:RadCalendar> <telerik:RadCalendar runat="server" ID="RadCalendar2" Skin="WebBlue" AutoPostBack="true" EnableMultiSelect="false" DayNameFormat="FirstTwoLetters" EnableNavigation="false" EnableMonthYearFastNavigation="false" OnSelectionChanged="RadCalendar2_SelectionChanged"> </telerik:RadCalendar> </div> <telerik:RadPanelBar runat="server" Skin="WebBlue" ID="PanelBar" Width="100%"> <Items> <telerik:RadPanelItem runat="server" Text="My Team Calendars" Expanded="true"> <Items> <telerik:RadPanelItem runat="server"> <ItemTemplate> <div class="rpCheckBoxPanel"> <div> <asp:CheckBox ID="chkDevelopment" runat="server" Text="Development" Checked="true"AutoPostBack="true" OnCheckedChanged="CheckBoxes_CheckedChanged" /> </div> <div> <asp:CheckBox ID="chkMarketing" runat="server" Text="Marketing" Checked="true" AutoPostBack="true"OnCheckedChanged="CheckBoxes_CheckedChanged" /> </div> </div> </ItemTemplate> </telerik:RadPanelItem> </Items> </telerik:RadPanelItem> <telerik:RadPanelItem runat="server" Text="My Calendar" Expanded="true"> <Items> <telerik:RadPanelItem runat="server"> <ItemTemplate> <div class="rpCheckBoxPanel"> <div> <asp:CheckBox ID="chkQ1" runat="server" Text="Personal" Checked="true" AutoPostBack="true"OnCheckedChanged="CheckBoxes_CheckedChanged" /> </div> <div> <asp:CheckBox ID="chkQ2" runat="server" Text="Work" Checked="true" AutoPostBack="true"OnCheckedChanged="CheckBoxes_CheckedChanged" /> </div> </div> </ItemTemplate> </telerik:RadPanelItem> </Items> </telerik:RadPanelItem> </Items> </telerik:RadPanelBar> </telerik:RadPane> <telerik:RadSplitBar runat="server" ID="RadSplitBar2" CollapseMode="Forward" /> <telerik:RadPane runat="Server" ID="rightPane" Scrolling="None" Width="470px" Height="100%"> <telerik:RadScheduler runat="server" ID="RadScheduler1" Skin="WebBlue" ShowFooter="True" Height="100%" DayStartTime="08:00:00" DayEndTime="22:00:00" FirstDayOfWeek="Monday" LastDayOfWeek="Friday" EnableDescriptionField="true" AppointmentStyleMode="Default" DataKeyField="ID" DataSubjectField="Subject" DataStartField="Start" DataEndField="End" OnNavigationComplete="RadScheduler1_NavigationComplete" OnAppointmentDataBound="RadScheduler1_AppointmentDataBound" OnAppointmentDelete="RadScheduler1_AppointmentDelete" OnAppointmentUpdate="RadScheduler1_AppointmentUpdate" OnAppointmentInsert="RadScheduler1_AppointmentInsert"> <AdvancedForm Modal="true" /> <TimelineView UserSelectable="false" /> <ResourceStyles> <%--AppointmentStyleMode must be explicitly set to Default (see above) otherwise setting BackColor/BorderColor will switch the appointments to Simple rendering (no rounded corners and gradients)--%> <telerik:ResourceStyleMapping Type="Calendar" Text="Development"/> <telerik:ResourceStyleMapping Type="Calendar" Text="Marketing" ApplyCssClass="rsCategoryRed" /> <telerik:ResourceStyleMapping Type="Calendar" Text="Work" ApplyCssClass="rsCategoryOrange" /> </ResourceStyles> <AppointmentTemplate> <div class="rsAptSubject"> <%# Eval("Subject") %> </div> <%# Eval("Description") %> </AppointmentTemplate> <TimeSlotContextMenuSettings EnableDefault="true" /> <AppointmentContextMenuSettings EnableDefault="true" /> </telerik:RadScheduler> </telerik:RadPane> </telerik:RadSplitter> </div>using System; using System.Web.UI; using System.Web.UI.WebControls; using Telerik.Web.UI; using Telerik.Web.UI.Calendar; using System.Collections.Generic; public partial class CMSWebParts_Grafica_Calendar : System.Web.UI.UserControl { private Dictionary<int, string> checkBoxIDs; XmlSchedulerProvider Provider { get { XmlSchedulerProvider provider; provider = new XmlSchedulerProvider(Server.MapPath("~/App_Data/test.xml"), false); return provider; } } protected void Page_Init(object sender, EventArgs e) { RadScheduler1.Provider = Provider; /* RadScheduler1.DataStartField = "Start"; RadScheduler1.DataEndField = "End"; RadScheduler1.DataSubjectField = "Subject"; RadScheduler1.DataKeyField = "ID"; */ } private void Page_Load(object sender, EventArgs e) { checkBoxIDs = new Dictionary<int, string>(); checkBoxIDs.Add(1, "chkDevelopment"); checkBoxIDs.Add(2, "chkMarketing"); checkBoxIDs.Add(3, "chkQ1"); checkBoxIDs.Add(4, "chkQ2"); if (!IsPostBack) { RadCalendar1.SelectedDate = RadScheduler1.SelectedDate; SyncCalendars(); } } protected void RadScheduler1_NavigationComplete(object sender, SchedulerNavigationCompleteEventArgs e) { RadCalendar1.FocusedDate = RadScheduler1.SelectedDate; SyncCalendars(); } protected void RadCalendar1_DefaultViewChanged(object sender, DefaultViewChangedEventArgs e) { SyncCalendars(); } private void SyncCalendars() { RadCalendar2.FocusedDate = RadCalendar1.FocusedDate.AddMonths(1); } protected void RadCalendar1_SelectionChanged(object sender, SelectedDatesEventArgs e) { if (RadCalendar1.SelectedDates.Count > 0) { RadScheduler1.SelectedDate = RadCalendar1.SelectedDate; RadCalendar2.SelectedDate = RadCalendar1.SelectedDate; } } protected void RadCalendar2_SelectionChanged(object sender, SelectedDatesEventArgs e) { if (RadCalendar2.SelectedDates.Count > 0) { RadScheduler1.SelectedDate = RadCalendar2.SelectedDate; RadCalendar1.SelectedDate = RadCalendar2.SelectedDate; } } protected void RadScheduler1_AppointmentDataBound(object sender, SchedulerEventArgs e) { RadCalendarDay radCalendarDay = new RadCalendarDay(RadCalendar1); radCalendarDay.Date = e.Appointment.Start; radCalendarDay.ItemStyle.CssClass = "DayWithAppointments"; RadCalendar1.SpecialDays.Add(radCalendarDay); RadCalendar2.SpecialDays.Add(radCalendarDay); e.Appointment.Visible = false; foreach (int key in checkBoxIDs.Keys) { CheckBox chkBox = PanelBar.Items[0].Items[0].FindControl(checkBoxIDs[key]) as CheckBox; if (chkBox == null) chkBox = PanelBar.Items[1].Items[0].FindControl(checkBoxIDs[key]) as CheckBox; if (chkBox.Checked) { Resource userRes = e.Appointment.Resources.GetResource("Calendar", key.ToString()); if (userRes != null) { e.Appointment.Visible = true; } } } } protected void RadScheduler1_AppointmentDelete(object sender, SchedulerCancelEventArgs e) { RadCalendar1.SpecialDays.Clear(); RadCalendar2.SpecialDays.Clear(); } protected void RadScheduler1_AppointmentUpdate(object sender, AppointmentUpdateEventArgs e) { RadCalendar1.SpecialDays.Clear(); RadCalendar2.SpecialDays.Clear(); } protected void RadScheduler1_AppointmentInsert(object sender, SchedulerCancelEventArgs e) { if (e.Appointment.Resources.Count < 1) e.Appointment.Resources.Add(RadScheduler1.Resources.GetResource("Calendar", "1")); } protected void CheckBoxes_CheckedChanged(object sender, EventArgs e) { RadScheduler1.Rebind(); } } <?xml version="1.0" encoding="utf-8"?> <Appointments> <NextID>3</NextID> <Resources> <Room> <Key>1</Key> <Text>Meeting room 101</Text> </Room> <Room> <Key>2</Key> <Text>Meeting room 201</Text> </Room> <User> <Key>1</Key> <Text>Alex</Text> </User> <User> <Key>2</Key> <Text>Bob</Text> </User> <User> <Key>3</Key> <Text>Charlie</Text> </User> </Resources> <Appointment> <ID>1</ID> <Subject>Technical meeting</Subject> <Start>2010-09-30T06:00Z</Start> <End>2010-09-30T07:00Z</End> <RecurrenceRule> <![CDATA[ DTSTART:20100930T060000Z DTEND:20100930T070000Z RRULE:FREQ=DAILY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR; ]]> </RecurrenceRule> <Resources> <Room Key="1" /> <User Key="1" /> </Resources> <Attribute Key="CustomAttribute" Value="1" /> </Appointment> <Appointment> <ID>2</ID> <Subject>Lunch</Subject> <Start>2010-09-09T09:00Z</Start> <End>2010-09-09T10:00Z</End> <Resources> <User Key="1" /> </Resources> </Appointment> </Appointments><div> <telerik:RadGrid ID="RadGridOrderStatus" runat="server" AutoGenerateColumns="false" PageSize="10" AllowSorting="True" AllowPaging="true" Skin="Simple" CssClass="RegistrationFieldStyle" HeaderStyle-CssClass="RegistrationFieldStyle" Width="90%" HorizontalAlign="Left" ItemStyle-Wrap="false" OnItemCreated="RadGridOrderStatus_ItemCreated" OnPreRender="RadGridOrderStatus_PreRender" OnNeedDataSource="RadGridOrderStatus_NeedDataSource" OnItemDataBound="RadGridOrderStatus_ItemDataBound" OnDetailTableDataBind="RadGridOrderStatus_DetailTableDataBind"> <PagerStyle Mode="NumericPages" /> <ClientSettings> <Scrolling AllowScroll="true" UseStaticHeaders="true" /> </ClientSettings> <MasterTableView TableLayout="Fixed" AllowMultiColumnSorting="true" DataKeyNames="OrderNumber" Name="ORDER" ShowFooter="false" HierarchyLoadMode="Client" PagerStyle-AlwaysVisible="true" HorizontalAlign="Left" > <DetailTables> <telerik:GridTableView DataKeyNames="OrderNumber" runat="server" Width="100%" Name="ORDERDETAIL"> <ParentTableRelation> <telerik:GridRelationFields DetailKeyField="OrderNumber" MasterKeyField="OrderNumber" /> </ParentTableRelation> <NoRecordsTemplate> <asp:Label ID="lblMsg" runat="server" Text="No Order Detail Records Found"></asp:Label> </NoRecordsTemplate> <Columns> <telerik:GridBoundColumn HeaderText="NDC" HeaderButtonType="TextButton" DataField="NDCNumber" /> <telerik:GridBoundColumn HeaderText="Description" HeaderButtonType="TextButton" DataField="Description" /> <telerik:GridBoundColumn HeaderText="Unit Of Measure" HeaderButtonType="TextButton" DataField="UnitOfMeasure" /> <telerik:GridBoundColumn HeaderText="Requested Quantity" HeaderButtonType="TextButton" DataField="RequestedQty" /> <telerik:GridBoundColumn HeaderText="Shipped Quantity" HeaderButtonType="TextButton" DataField="ShippedQty" /> <telerik:GridBoundColumn HeaderText="Ship Date" HeaderButtonType="TextButton" DataField="ShipDate" DataFormatString="{0:MM/dd/yyyy hh:mm tt}" /> <telerik:GridHyperLinkColumn HeaderText="Tracking Number" HeaderButtonType="TextButton" DataTextField="Shipment.WaybillNumber" DataTextFormatString="{0}" DataNavigateUrlFields="Shipment.WaybillNumberCarrierUrl" DataNavigateUrlFormatString="{0}" Target="_blank" /> <telerik:GridBoundColumn HeaderText="Status" HeaderButtonType="TextButton" DataField="Shipment.Status" /> </Columns> </telerik:GridTableView> </DetailTables> <Columns> <telerik:GridBoundColumn HeaderText="Order Date" HeaderButtonType="TextButton" DataField="OrderDate" DataFormatString="{0:MM/dd/yyyy hh:mm tt}" HeaderStyle-Width="120px" ItemStyle-HorizontalAlign="Left" /> <telerik:GridBoundColumn HeaderText="Transaction Number" HeaderButtonType="TextButton" DataField="OrderNumber" HeaderStyle-Width="80px" ItemStyle-HorizontalAlign="Left" /> <telerik:GridTemplateColumn HeaderText="Ordered By" HeaderButtonType="TextButton" HeaderStyle-Width="100px" ItemStyle-HorizontalAlign="Left"> <ItemTemplate> <asp:Label ID="ContactName" runat="server" /> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn HeaderText="Address" HeaderButtonType="TextButton" DataField="ShipToAddress.FullBlockAddress" HeaderStyle-Width="200px" ItemStyle-HorizontalAlign="Left" /> <telerik:GridBoundColumn HeaderText="Status" HeaderButtonType="TextButton" DataField="OrderStatus" HeaderStyle-Width="100px" ItemStyle-HorizontalAlign="Left" /> </Columns> </MasterTableView> </telerik:RadGrid> </div> #region RadGridOrderStatus_DetailTableDataBind protected void RadGridOrderStatus_DetailTableDataBind(object sender, GridDetailTableDataBindEventArgs e) { GridDataItem orderItem = e.DetailTableView.ParentItem; if (e.DetailTableView.Name.ToUpper() == "ORDERDETAIL" && orderItem.DataItem is Order) { Order parentOrder = (Order)orderItem.DataItem; e.DetailTableView.DataSource = parentOrder.Products; } } #endregion #region RadGridOrderStatus_ItemCreated protected void RadGridOrderStatus_ItemCreated(object sender, GridItemEventArgs e) { if (e.Item is GridNestedViewItem) { GridNestedViewItem nestedItem = e.Item as GridNestedViewItem; nestedItem.NestedViewCell.PreRender +=new EventHandler(NestedViewCell_PreRender); } } protected void NestedViewCell_PreRender(object sender, EventArgs e) { ((Control)sender).Controls[0].SetRenderMethodDelegate(new RenderMethod(this.NestedViewTable_Render)); } protected void NestedViewTable_Render(HtmlTextWriter writer, Control control) { control.SetRenderMethodDelegate(null); writer.Write("<div style='height: 100%; overflow: scroll;'>"); control.RenderControl(writer); writer.Write("</div>"); } #endregion #region RadGridOrderStatus_ItemDataBound protected void RadGridOrderStatus_ItemDataBound(object sender, GridItemEventArgs e) { if (e.Item is GridDataItem) { GridDataItem item = (GridDataItem)e.Item; if (e.Item.DataItem is Order) { Order parentOrder = (Order)e.Item.DataItem; Label contactName = (Label)e.Item.FindControl("ContactName"); switch (LocalSettings.CurrentUserProfile.RegistrationType.RegistrationTypeCode) { case EnumRegistrationType.HCP: case EnumRegistrationType.PHARMACIST: contactName.Text = parentOrder.ContactFirstName + " " + parentOrder.ContactLastName; break; } } } } #endregion #region RadGridOrderStatus_NeedDataSource protected void RadGridOrderStatus_NeedDataSource(object sender, GridNeedDataSourceEventArgs e) { RadGridOrderStatus.DataSource = LocalSettings.CurrentOrderSearchResponse.Orders; } #endregion