
<telerik:RadTabStrip ID="Vehicles" runat="server" Skin="Metro" MultiPageID="RadMultiPage1" SelectedIndex="0" Width="99%" OnTabClick="Vehicles_TabClick" AutoPostBack="true"> <telerik:RadTab Text="Cars" PageViewID="radCars" Value="radTabCars"> </telerik:RadTab> <telerik:RadTab Text="Train" Value="radTabTrain"> </telerik:RadTab> <telerik:RadTab Text="Bus" CssClass="CustomTab" HoveredCssClass="HoveredTab" Value="radTabBus"> </telerik:RadTab> <telerik:RadTab Text="Cycle" Value="radTabCycle" > </telerik:RadTab> <telerik:RadMultiPage ID="RadMultiPage1" runat="server" SelectedIndex="0" OnPageViewCreated="RadMultiPage1_PageViewCreated" EnableViewState="true"> <telerik:RadPageView ID="radPVCars" runat="server"> <telerik:RadGrid ID="grdCars" runat="server" AllowSorting="true" </telerik:RadGrid> </telerik:RagpageView> <telerik:RadPageView ID="radPVTrain" runat="server"> <DManagement:Fax runat="server" ID="UCTrain" Status="Train" /> </telerik:RagpageView> <telerik:RadPageView ID="radPVBus" runat="server"> <DManagement:Fax runat="server" ID="UCcyvle" Status="Bus" /> </telerik:RagpageView> <telerik:RadPageView ID="radPVCycle" runat="server"> <telerik:RadGrid ID="grdCycle" runat="server" AllowSorting="true" </telerik:RadGrid> </telerik:RagpageView>protected void Vehicles_TabClick(object sender, RadTabStripEventArgs e) { AddPageView(e.Tab); e.Tab.PageView.Selected = true; } private void AddPageView(RadTab tab) { RadPageView pageView = new RadPageView(); if (tab.Value == "radTabCars") { RadMultiPage1.SelectedIndex = RadMultiPage1.FindPageViewByID("radPVCars").Index; tab.PageViewID = "radPVCars"; return; } else if (tab.Value == "radTabCycle") { RadMultiPage1.SelectedIndex = RadMultiPage1.FindPageViewByID("radPVCycle").Index; tab.PageViewID = "radPVCycle"; return; } switch (tab.Value) { case "radTabTrain": pageView.ID = "radPVTrain"; break; case "radTabBus": pageView.ID = "radPVBus"; break; } RadMultiPage1.PageViews.Add(pageView); RadMultiPage1.SelectedIndex = RadMultiPage1.PageViews.Count - 1; tab.PageViewID = pageView.ID; } protected void RadMultiPage1_PageViewCreated(object sender, RadMultiPageEventArgs e) { string uControlName = ""; string uControlId = ""; switch (e.PageView.ID) { case "radPVTrain": uControlName = "~/USC/UserControls/Dgmt_vehicle.ascx"; userControlId = "VehTrain"; break; case "radPVBus": uControlName = "~/USC/UserControls/Dgmt_vehicle.ascx"; userControlId = "VehBus"; break; } Control userControl1 = Page.LoadControl(userControlName); UserControls.Dgmt_Faxes objControl = (UserControls.Dgmt_Faxes)userControl1; if (uControlId == "VehTrain") objControl.Status = "Train"; else if (uControlId == "VehBus") objControl.Status = "Bus"; userControl = (VehicleUserControl)userControl1; userControl.ID = userControlId; e.PageView.Controls.Add(userControl); e.PageView.EnableViewState = true; } 
<telerik:RadGrid ID="RadGridwebpagemanagement" CssClass="webpageManagementGrid" MasterTableView-DataKeyNames="ID" runat="server" AllowFilteringByColumn="True" AllowSorting="True" GroupPanelPosition="Top" OnNeedDataSource="RadGridwebpagemanagement_NeedDataSource" OnUpdateCommand="RadGridwebpagemanagement_UpdateCommand"> <ClientSettings> <Scrolling AllowScroll="True" UseStaticHeaders="True" /> <Selecting AllowRowSelect="true" /> </ClientSettings> <MasterTableView AutoGenerateColumns="false" CommandItemDisplay="Top" CommandItemSettings-AddNewRecordText="Add New Webpage" InsertItemPageIndexAction="ShowItemOnCurrentPage"> <columns> <telerik:GridBoundColumn DataField="webpage_name" HeaderText="Web Page" UniqueName="webpage_name" ItemStyle-Font-Names="Arial" ItemStyle-Font-Bold="true" FilterControlWidth="150px"> <HeaderStyle Width="200px" Font-Names="Arial" /> <ItemStyle Width="200px" /> </telerik:GridBoundColumn> <telerik:GridCheckBoxColumn DataField="add_privledge" HeaderText="Allow Adds" UniqueName="add_privledge" FilterControlWidth="120px"> <HeaderStyle Width="120px" Font-Names="Arial" /> <ItemStyle Width="120px" /> </telerik:GridCheckBoxColumn> <telerik:GridCheckBoxColumn DataField="edit_privledge" HeaderText="Allow Edits" UniqueName="edit_privledge" FilterControlWidth="120px"> <HeaderStyle Width="120px" Font-Names="Arial" /> <ItemStyle Width="120px" /> </telerik:GridCheckBoxColumn> <telerik:GridCheckBoxColumn DataField="delete_privledge" HeaderText="Allow Deletes" UniqueName="delete_privledge" FilterControlWidth="120px"> <HeaderStyle Width="120px" Font-Names="Arial" /> <ItemStyle Width="120px" /> </telerik:GridCheckBoxColumn> <telerik:GridEditCommandColumn ButtonType="LinkButton" EditText="Edit" CancelText="Cancel" ItemStyle-Width="50px" HeaderStyle-Width="50px" FilterControlWidth="50px" /> <telerik:GridButtonColumn ConfirmText="Delete this product?" ConfirmDialogType="RadWindow" ConfirmTitle="Delete" ButtonType="LinkButton" Text="Delete" CommandName="Delete" ItemStyle-Width="50px" HeaderStyle-Width="50px" FilterControlWidth="50px" /> </columns> <EditFormSettings EditFormType="Template"> <FormTemplate> <div id="divGridEdit" class="divGrid"> <b>Add New Role to Webpage Association</b> <br /><br /> <table> <tr> <td><asp:Label Text="Web Page:" runat="server"></asp:Label></td> <td><asp:DropDownList ID="ddlWebPages" runat="server"></asp:DropDownList></td> </tr> <tr> <td><asp:Label Text="Allow Add:" runat="server"></asp:Label></td> <td><asp:CheckBox ID="chkboxAllowAdd" Checked='<%# Bind("add_privledge") %>' runat="server" /></td> </tr> <tr> <td><asp:Label Text="Allow Edit:" runat="server"></asp:Label></td> <td><asp:CheckBox ID="chkboxAllowEdit" Checked='<%# Bind("add_privledge") %>' runat="server" /></td> </tr> <tr> <td><asp:Label Text="Allow Delete:" runat="server"></asp:Label></td> <td><asp:CheckBox ID="chkboxDelete" Checked='<%# Bind("add_privledge") %>' runat="server" /></td> </tr> <tr> <td><br /></td> <td></td> </tr> <tr> <td><asp:Button ID="btnUpdate" Text='<%# (Container is GridEditFormInsertItem) ? "Insert" : "Update" %>' CommandName='<%# (Container is GridEditFormInsertItem) ? "PerformInsert" : "Update" %>' runat="server" /></td> <td><asp:Button ID="btnCancel" Text="Cancel" runat="server" CommandName="Cancel" CausesValidation="false" /></td> </tr> </table> </div> </FormTemplate> </EditFormSettings> </MasterTableView> <ClientSettings> <ClientEvents OnRowDblClick="rowDblClick" /> </ClientSettings> </telerik:RadGrid><%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Test.ascx.cs" Inherits="MountainVillaNursing.Residents.Test" %><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %><div> <telerik:RadScriptManager runat="server" ID="RadScriptManager1" /> <telerik:RadGrid runat="server" ID="RadGrid1" AutoGenerateColumns="false" AllowPaging="true" OnNeedDataSource="RadGrid1_NeedDataSource" OnItemCreated="RadGrid1_ItemCreated" OnInsertCommand="RadGrid1_InsertCommand"> <MasterTableView DataKeyNames="CurrentDiagnosisId" CommandItemDisplay="Top" InsertItemPageIndexAction="ShowItemOnCurrentPage"> <Columns> <telerik:GridEditCommandColumn ButtonType="ImageButton" /> <telerik:GridBoundColumn HeaderStyle-Font-Bold="true" DataField="Diagnosis" DataType="System.String" HeaderText="Diagnosis" SortExpression="Diagnosis"> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderStyle-Font-Bold="true" DataField="ICN" DataType="System.String" HeaderText="ICD-9-Code" SortExpression="ICN"> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderStyle-Font-Bold="true" DataField="CastSummary" DataType="System.String" HeaderText="Cast Summary" SortExpression="CastSummary"> </telerik:GridBoundColumn> <telerik:GridDateTimeColumn HeaderStyle-Font-Bold="true" DataField="StartDate" DataFormatString="{0:MM/dd/yyyy}" DataType="System.DateTime" HeaderText="StartDate" SortExpression="StartDate"> </telerik:GridDateTimeColumn> <telerik:GridDateTimeColumn HeaderStyle-Font-Bold="true" DataField="EndDate" DataFormatString="{0:MM/dd/yyyy}" DataType="System.DateTime" HeaderText="EndDate" SortExpression="EndDate"> </telerik:GridDateTimeColumn> </Columns> <EditFormSettings> <EditColumn ButtonType="ImageButton" /> </EditFormSettings> </MasterTableView> <PagerStyle Mode="NextPrevAndNumeric" /> </telerik:RadGrid> <telerik:RadInputManager runat="server" ID="RadInputManager1" Enabled="true"> <telerik:TextBoxSetting BehaviorID="TextBoxSetting1"> </telerik:TextBoxSetting> <telerik:TextBoxSetting BehaviorID="TextBoxSetting2"> </telerik:TextBoxSetting> <telerik:TextBoxSetting BehaviorID="TextBoxSetting3" > </telerik:TextBoxSetting> <telerik:DatePickerSetting BehaviorID="DatePickerSetting1" > </telerik:DatePickerSetting> <telerik:DatePickerSetting BehaviorID="DatePickerSetting2"> </telerik:DatePickerSetting> </telerik:RadInputManager> <telerik:RadWindowManager ID="RadWindowManager1" runat="server" /></div>using System;using System.Collections;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using Telerik.Web.UI;namespace MountainVillaNursing.Residents{ public partial class Test : System.Web.UI.UserControl { MountainVillaEntities _dataContext = new MountainVillaEntities(); protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { } } protected void RadGrid1_NeedDataSource(object source, GridNeedDataSourceEventArgs e) { RadGrid1.DataSource = _dataContext.spGetAllCurrentDiagnosisById(1); } protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e) { if (e.Item is GridEditableItem && (e.Item.IsInEditMode)) { GridEditableItem editableItem = (GridEditableItem)e.Item; SetupInputManager(editableItem); } } private void SetupInputManager(GridEditableItem editableItem) { // style and set ProductName column's textbox as required var textBox = ((GridTextBoxColumnEditor)editableItem.EditManager.GetColumnEditor("Diagnosis")).TextBoxControl; InputSetting inputSetting = RadInputManager1.GetSettingByBehaviorID("TextBoxSetting1"); inputSetting.TargetControls.Add(new TargetInput(textBox.UniqueID, true)); inputSetting.InitializeOnClient = true; inputSetting.Validation.IsRequired = true; textBox = ((GridTextBoxColumnEditor)editableItem.EditManager.GetColumnEditor("ICN")).TextBoxControl; inputSetting = RadInputManager1.GetSettingByBehaviorID("TextBoxSetting2"); inputSetting.TargetControls.Add(new TargetInput(textBox.UniqueID, true)); inputSetting.InitializeOnClient = true; inputSetting.Validation.IsRequired = true; textBox = ((GridTextBoxColumnEditor)editableItem.EditManager.GetColumnEditor("CastSummary")).TextBoxControl; inputSetting = RadInputManager1.GetSettingByBehaviorID("TextBoxSetting3"); inputSetting.TargetControls.Add(new TargetInput(textBox.UniqueID, true)); inputSetting.InitializeOnClient = true; inputSetting.Validation.IsRequired = true; var datetime = (GridDateTimeColumnEditor)editableItem.EditManager.GetColumnEditor("StartDate") as GridDateTimeColumnEditor; inputSetting = RadInputManager1.GetSettingByBehaviorID("DatePickerSetting1"); inputSetting.TargetControls.Add(new TargetInput(textBox.UniqueID, true)); inputSetting.InitializeOnClient = true; inputSetting.Validation.IsRequired = true; datetime = (GridDateTimeColumnEditor)editableItem.EditManager.GetColumnEditor("EndDate") as GridDateTimeColumnEditor; inputSetting = RadInputManager1.GetSettingByBehaviorID("DatePickerSetting2"); inputSetting.TargetControls.Add(new TargetInput(textBox.UniqueID, true)); inputSetting.InitializeOnClient = true; inputSetting.Validation.IsRequired = true; } protected void RadGrid1_InsertCommand(object source, GridCommandEventArgs e) { var editableItem = ((GridEditableItem)e.Item); //create new entity var currentDiagnosis = new tblCurrentDiagnosi(); //populate its properties Hashtable values = new Hashtable(); editableItem.ExtractValues(values); string diagnosis = (string)values["Diagnosis"]; string iCN = (string)values["ICN"]; string castSummary = (string)values["CastSummary"]; DateTime? startDate = (DateTime)values["StarDate"]; DateTime? endDate = (DateTime)values["EndDate"]; _dataContext.spInsertCurrentDiagnosis(diagnosis, iCN,castSummary, startDate, endDate, 1, "Test", true); try { //save chanages to Db _dataContext.SaveChanges(); } catch (System.Exception) { } } public override void Dispose() { if (_dataContext != null) { _dataContext.Dispose(); } base.Dispose(); } }}<telerik:GridTemplateColumn UniqueName="SequenceId" DataField="SequenceId" SortExpression="Sequence.Name" HeaderText="Sequence">...</telerik:GridTemplateColumn>This displays as expected and can be filtered and edited correctly (see full code below). But clicking on the header to sort the column by the friendly text (via the navigation property) results in the following exception being thrown:
"Input string was not in a correct format.Couldn't store <First Sequence> in Sequence.Name Column. Expected type is Int32."
As part of troubleshooting this issue, I have added handlers for the EntityDataSource OnSelected and OnSelecting events and confirmed in a debug session that:
1. The SortExpression is correctly set in the OnSelecting event (e.g. "Sequence.Name ASC").
2. The returned Results collection in the OnSelected event is correctly sorted/ordered.
But when the Results collection is bound to the grid, it errors as listed above, and no sorting occurs.
Note: I can get sorting to work as expected by setting DataField="Sequence.Name" in the GridTemplateColumn, but then inserting and updating fails with this exception:
"A property named 'Sequence.Name' was not found on the entity during an insert, update, or delete operation. Check to ensure that properties specified as binding expressions are available to the data source."
Is there any way to get this to work with both? Sort based on a navigation property and insert/update based on the data model foreign key ID?
This issue can be reproduced with the following code:
Entity Framework Models:
public partial class SortTest{ public int SortTestId { get; set; } public string Description { get; set; } public Nullable<int> SequenceId { get; set; } public virtual Sequence Sequence { get; set; }}public partial class Sequence{ public Sequence() { this.SortTests = new HashSet<SortTest>(); } public int SequenceId { get; set; } public string Name { get; set; } public virtual ICollection<SortTest> SortTests { get; set; }}<telerik:RadAjaxPanel runat="server" ID="RadAjaxPanel1"> <telerik:RadGrid ID="ResultGrid" DataSourceID="SortTestsEntitySource" runat="server" AllowSorting="True" AllowFilteringByColumn="true" AutoGenerateColumns="false"> <MasterTableView CommandItemDisplay="Top" DataKeyNames="SortTestId" EditMode="Batch" PageSize="20" TableLayout="Auto" Width="95%" HeaderStyle-Width="100px"> <BatchEditingSettings EditType="Row"></BatchEditingSettings> <Columns> <telerik:GridBoundColumn DataField="SortTestId" HeaderText="SortTestId"></telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Description" HeaderText="Description"></telerik:GridBoundColumn> <telerik:GridTemplateColumn UniqueName="SequenceId" DataField="SequenceId" SortExpression="Sequence.Name" HeaderText="Sequence"> <FilterTemplate> <telerik:RadComboBox ID="RadComboBoxModel" DataSourceID="SequencesEntitySource" DataTextField="Name" DataValueField="SequenceId" AppendDataBoundItems="true" SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("SequenceId").CurrentFilterValue %>' runat="server" OnClientSelectedIndexChanged="SequencesIndexChanged"> <Items> <telerik:RadComboBoxItem Text="All" /> </Items> </telerik:RadComboBox> <telerik:RadScriptBlock ID="RadScriptBlock1" runat="server"> <script type="text/javascript"> function SequencesIndexChanged(sender, args) { var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>"); tableView.filter("SequenceId", args.get_item().get_value(), "EqualTo"); } </script> </telerik:RadScriptBlock> </FilterTemplate> <ItemTemplate> <%# Eval("Sequence.Name") %> </ItemTemplate> <EditItemTemplate> <telerik:RadDropDownList style="width:auto;" runat="server" ID="SequenceDropDown" DataValueField="SequenceId" DataTextField="Name" DataSourceID="SequencesEntitySource"></telerik:RadDropDownList> </EditItemTemplate> </telerik:GridTemplateColumn> </Columns> </MasterTableView> </telerik:RadGrid></telerik:RadAjaxPanel><asp:EntityDataSource runat="server" ID="SortTestsEntitySource" ConnectionString="name=TelerikSortTestEntities" DefaultContainerName="TelerikSortTestEntities" OnSelecting="SortTestsEntitySource_OnSelecting" OnSelected="SortTestsEntitySource_OnSelected" EnableFlattening="False" EnableInsert="False" EnableUpdate="True" EnableDelete="False" EntitySetName="SortTests" EntityTypeFilter="SortTest" Include="Sequence"></asp:EntityDataSource><asp:EntityDataSource runat="server" ID="SequencesEntitySource" ConnectionString="name=TelerikSortTestEntities" DefaultContainerName="TelerikSortTestEntities" EntitySetName="Sequences" EntityTypeFilter="Sequence"></asp:EntityDataSource>protected void SortTestsEntitySource_OnSelecting(object sender, EntityDataSourceSelectingEventArgs e){ // verify that e.SelectArguments.SortExpression is correct in a Watch window or Immediate Window etc.}protected void SortTestsEntitySource_OnSelected(object sender, EntityDataSourceSelectedEventArgs e){ // inspect the e.Results collection and verify it is correctly sorted/ordered}001.<body>002. <form id="form1" runat="server">003. <telerik:RadScriptManager ID="rasMain" runat="server">004. </telerik:RadScriptManager>005. <telerik:RadWindowManager ID="RadWindowManager1" runat="server">006. </telerik:RadWindowManager> 007. 008. <telerik:RadWizard runat="server" ID="RadWizard1" Height="360px" Skin="BlackMetroTouch">009. <WizardSteps>010. <telerik:RadWizardStep ID="rwsCreatedBy" Title="Created By" runat="server" StepType="Start">011. <h2 style="font:large, bolder;">Select the Operator or person creating this breakdown request</h2> 012. <table>013. <tr>014. <td>015. <asp:Label ID="lblEmpName" runat="server" Text="Employee Name" Font-Bold="true" Font-Size="X-Large"></asp:Label>016. </td>017. <td>018. 019. </td>020. <td>021. <telerik:RadComboBox ID="rcbEmployeeName" runat="server" AutoPostBack="True" DropDownAutoWidth="Enabled" DropDownWidth="300px" Height="500px" Font-Size="Larger" DataSourceID="dsEmployees" DataTextField="Name" DataValueField="BadgeId" Skin="BlackMetroTouch" Width="300px" >022. 023. </telerik:RadComboBox>024. <asp:SqlDataSource ID="dsEmployees" runat="server" ConnectionString="<%$ ConnectionStrings:OceansideMaintSystem2015.My.MySettings.oConDev %>" SelectCommand="Select * from main.Employee where Department NOT LIKE '99' ORDER BY NAME ASC"></asp:SqlDataSource>025. 026. </td>027. <td>028. <asp:RequiredFieldValidator ID="rfvEmployeeName" runat="server" ControlToValidate="rcbEmployeeName" ErrorMessage="Required" Font-Bold="true" ForeColor="Red" Font-Size="X-Large" BackColor="Yellow"></asp:RequiredFieldValidator>029. </td>030. </tr>031. <tr>032. <td>033. <asp:Label ID="lblBadgeID" runat="server" Text="BadgeID" Font-Bold="true" Font-Size="X-Large" ></asp:Label>034. </td>035. <td>036. 037. </td>038. <td>039. <telerik:RadTextBox ID="rtbBadgeID" runat="server" ReadOnly="true" AutoPostBack="true" Font-Size="Larger" Skin="BlackMetroTouch"></telerik:RadTextBox>040. <asp:RequiredFieldValidator ID="rfvBadge" runat="server" ControlToValidate="rtbBadgeID" ErrorMessage="Required" Font-Bold="true" ForeColor="Red" Font-Size="X-Large" BackColor="Yellow"></asp:RequiredFieldValidator>041. </td>042. </tr>043. </table>044. 045. </telerik:RadWizardStep>046. <telerik:RadWizardStep ID="rwsOpenLocation" Title="Location" StepType="Step" runat="server" Font-Bold="True" Font-Size="Medium">047. <table>048. <tr>049. <td>050. <asp:Label ID="lblArea" runat="server" Font-Bold="true" Font-Size="X-Large" Text="Area"></asp:Label>051. </td>052. <td>053. <telerik:RadDropDownList ID="rddlArea" runat="server" AutoPostBack="true" Font-Size="Larger" DropDownWidth="300px" DropDownHeight="200px" Skin="BlackMetroTouch">054. <Items>055. <telerik:DropDownListItem runat="server" Text="Case Packing" Font-Size="Large" /> 056. <telerik:DropDownListItem runat="server" Text="Kitchen - 2nd Floor" Font-Size="Large" />057. <telerik:DropDownListItem runat="server" Text="Making" Font-Size="Large"/>058. <telerik:DropDownListItem runat="server" Text="Offices - 1st Floor" Font-Size="Large"/>059. <telerik:DropDownListItem runat="server" Text="Offices - 2nd Floor" Font-Size="Large"/>060. <telerik:DropDownListItem runat="server" Text="Other" Font-Size="Large"/>061. <telerik:DropDownListItem runat="server" Text="Packing" Font-Size="Large"/>062. <telerik:DropDownListItem runat="server" Text="QA" Font-Size="Large"/>063. <telerik:DropDownListItem runat="server" Text="Receiving" Font-Size="Large"/> 064. <telerik:DropDownListItem runat="server" Text="Shipping" Font-Size="Large"/>065. <telerik:DropDownListItem runat="server" Text="Spice Room" Font-Size="Large"/>066. <telerik:DropDownListItem runat="server" Text="Tomato Inside" Font-Size="Large"/> 067. <telerik:DropDownListItem runat="server" Text="Tomato Making" Font-Size="Large"/>068. <telerik:DropDownListItem runat="server" Text="Tomato Outside" Font-Size="Large"/> 069. <telerik:DropDownListItem runat="server" Text="Vegetable Prep" Font-Size="Large"/>070. </Items>071. </telerik:RadDropDownList>072. <asp:RequiredFieldValidator ID="rfvArea" ForeColor="Red" Font-Bold="true" Font-Size="Larger" BackColor="Yellow" ErrorMessage="Required" ControlToValidate="rddlArea" Display="Static" runat="server"></asp:RequiredFieldValidator>073. </td>074. </tr>075. <tr>076. <td></td>077. <td></td>078. <td>079. <asp:Label ID="lblMachine" runat="server" Font-Bold="true" Text="Machine" Font-Size="X-Large"></asp:Label>080. </td>081. <td>082. <telerik:RadTextBox ID="rtbMachine" AutoPostBack="true" Width="222px" TextMode="MultiLine" MaxLength="250" runat="server" Height="40px" Skin="BlackMetroTouch"></telerik:RadTextBox>083. <asp:RequiredFieldValidator ID="rfvMachine" ForeColor="Red" Font-Bold="true" BackColor="Yellow" Font-Size="X-Large" ErrorMessage="Required" ControlToValidate="rtbMachine" Display="Static" runat="server"></asp:RequiredFieldValidator>084. </td>085. </tr>086. <tr>087. <td>088. <asp:Label ID="lblLine" runat="server" Text="Line" Font-Bold="true" Font-Size="X-Large"></asp:Label>089. </td>090. <td>091. <telerik:RadDropDownList ID="rddlLine" AutoPostBack="true" runat="server" Font-Size="Larger" DropDownWidth="100px" DropDownHeight="150px" Skin="BlackMetroTouch">092. <Items>093. <telerik:DropDownListItem runat="server" Text="GnG" />094. <telerik:DropDownListItem runat="server" Text="LF" />095. <telerik:DropDownListItem runat="server" Text="MP-3" />096. <telerik:DropDownListItem runat="server" Text="MP-4" />097. <telerik:DropDownListItem runat="server" Text="Not Applicable" />098. <telerik:DropDownListItem runat="server" Text="Other" />099. <telerik:DropDownListItem runat="server" Text="QC8" />100. </Items>101. </telerik:RadDropDownList>102. <asp:RequiredFieldValidator ID="rfvLine" ForeColor="Red" Font-Bold="true" BackColor="Yellow" Font-Size="X-Large" ErrorMessage="Required" ControlToValidate="rddlLine" Display="Static" runat="server"></asp:RequiredFieldValidator>103. </td>104. </tr>105. </table>106. </telerik:RadWizardStep>107. <telerik:RadWizardStep ID="rwsDesc" runat="server" StepType="Finish" Title="Problem Description">108. <h2>Please enter a detailed description of the breakdown below.</h2>109. <table>110. <tr>111. <td>112. <telerik:RadTextBox ID="rtbBreakdownDesc" AutoPostBack="true" runat="server" TextMode="MultiLine" MaxLength="500" Wrap="true" Width="600px" Height="100px" Skin="BlackMetroTouch"></telerik:RadTextBox>113. <asp:RequiredFieldValidator ID="rfvrtbBreakdownDesc" ForeColor="Red" BackColor="Yellow" Font-Size="X-Large" ErrorMessage="Required" ControlToValidate="rddlLine" runat="server"></asp:RequiredFieldValidator>114. </td>115. </tr>116. </table> 117. </telerik:RadWizardStep>118. </WizardSteps>119. </telerik:RadWizard>120. </form>121.</body>01.Protected Sub RadWizard1_FinishButtonClick(sender As Object, e As WizardEventArgs) Handles RadWizard1.FinishButtonClick02. Dim oCon2 As String03. Dim cmd2 As New SqlCommand04. 05. 'db stuff
38. RadWindowManager1.RadAlert("Breakdown request submitted.", 300, 100, "Submitted", "")39. rtbBreakdownDesc.Text = ""40. 41. End Sub