I'd like to use autocomplete boxes set to text and limit to single entry. I have achieved this but I'm now trying to detect if the text entered is new. i.e. it is not an item that already exists in the database that populates the list.
In my case the select statement is against a table with less than 100 records. New values are permitted. The user types and the dropdown is filtered. The user can then select from a value or carry-on typing.
Can the control indicate
1. If the value has been selected or typed.
2. If typed then is this a new entry or an value that exists but was not selected.... sometimes our user will paste a value in directly which actually already exists in the list.
I need to be able to differentiate so that new values are added to a table when the form is saved.
Thanks
<
telerik:RadGrid
AutoGenerateColumns
=
"False"
ID
=
"RadGrid4"
AllowFilteringByColumn
=
"True"
AllowSorting
=
"True"
runat
=
"server"
OnItemCommand
=
"RadGrid4_ItemCommand"
OnItemCreated
=
"RadGrid4_ItemCreated"
EnableLinqExpressions
=
"false"
HtmlEncode
=
"true"
OnNeedDataSource
=
"RadGrid4_NeedDataSource"
GroupingSettings-RetainGroupFootersVisibility
=
"true"
ShowGroupPanel
=
"True"
CellSpacing
=
"-1"
GridLines
=
"Both"
Skin
=
"Office2010Silver"
EnableViewState
=
"true"
Width
=
"100%"
>
<
PagerStyle
Mode
=
"NextPrevAndNumeric"
/>
<
GroupingSettings
CaseSensitive
=
"false"
/>
<
ClientSettings
AllowKeyboardNavigation
=
"true"
>
</
ClientSettings
>
<
ExportSettings
OpenInNewWindow
=
"true"
FileName
=
"i-Dispatch Job Part Used Report"
ExportOnlyData
=
"true"
>
<
Pdf
PageHeight
=
"210mm"
PageWidth
=
"297mm"
DefaultFontFamily
=
"Arial Unicode MS"
PageTopMargin
=
"45mm"
BorderStyle
=
"Medium"
BorderColor
=
"#666666"
PaperSize
=
"A4"
>
</
Pdf
>
</
ExportSettings
>
<
MasterTableView
Width
=
"100%"
DataKeyNames
=
"JobID"
HierarchyLoadMode
=
"ServerOnDemand"
ShowGroupFooter
=
"true"
AllowMultiColumnSorting
=
"true"
>
<
Columns
>
<
telerik:GridMaskedColumn
DataField
=
"JobID"
HeaderText
=
"JobID#"
FilterControlWidth
=
"50px"
AutoPostBackOnFilter
=
"false"
CurrentFilterFunction
=
"EqualTo"
FilterDelay
=
"2000"
ShowFilterIcon
=
"false"
Mask
=
"#####"
GroupByExpression
=
"JobID Group By JobID"
>
<
ColumnValidationSettings
>
<
ModelErrorMessage
Text
=
""
></
ModelErrorMessage
>
</
ColumnValidationSettings
>
</
telerik:GridMaskedColumn
>
<
telerik:GridBoundColumn
DataField
=
"JobTitle"
FilterControlAltText
=
"Filter JobTitle column"
HeaderText
=
"Job Title"
SortExpression
=
"JobTitle"
UniqueName
=
"JobTitle"
>
<
ColumnValidationSettings
>
<
ModelErrorMessage
Text
=
""
/>
</
ColumnValidationSettings
>
</
telerik:GridBoundColumn
>
<
telerik:GridDateTimeColumn
DataField
=
"JobBookedDate"
PickerType
=
"DatePicker"
EnableTimeIndependentFiltering
=
"true"
DataFormatString
=
"{0:dd/MM/yyyy HH:mm }"
DataType
=
"System.DateTime"
FilterControlAltText
=
"Filter JobBookedDate column"
HeaderText
=
"Job Booked Date"
SortExpression
=
"JobBookedDate"
UniqueName
=
"JobBookedDate"
>
<
ColumnValidationSettings
>
<
ModelErrorMessage
Text
=
""
/>
</
ColumnValidationSettings
>
</
telerik:GridDateTimeColumn
>
<
telerik:GridTemplateColumn
DataField
=
"AssignedStaffID"
HeaderText
=
"Mobile Staff"
UniqueName
=
"AssignedStaffID"
HeaderStyle-Width
=
"200px"
SortExpression
=
"AssignedStaffID"
>
<
FilterTemplate
>
<
telerik:RadComboBox
ID
=
"comboStaff"
DataTextField
=
"StaffName"
DataValueField
=
"StaffID"
Height
=
"100px"
AppendDataBoundItems
=
"true"
SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("AssignedStaffID").CurrentFilterValue %>'
runat="server" OnClientSelectedIndexChanged="StaffIndexChanged">
<
Items
>
<
telerik:RadComboBoxItem
Text
=
"All"
/>
</
Items
>
</
telerik:RadComboBox
>
<
telerik:RadScriptBlock
ID
=
"RadScriptBlock10"
runat
=
"server"
>
<
script
type
=
"text/javascript"
>
function StaffIndexChanged(sender, args) {
var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");
tableView.filter("AssignedStaffID", args.get_item().get_value(), "EqualTo");
}
</
script
>
</
telerik:RadScriptBlock
>
</
FilterTemplate
>
<
ItemTemplate
>
<%# Eval("Staff") %>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
DataField
=
"CreatedBy"
HeaderText
=
"Added By"
UniqueName
=
"CreatedBy"
HeaderStyle-Width
=
"200px"
SortExpression
=
"CreatedBy"
>
<
FilterTemplate
>
<
telerik:RadComboBox
ID
=
"comboAdded"
DataTextField
=
"StaffName"
DataValueField
=
"StaffID"
Height
=
"100px"
AppendDataBoundItems
=
"true"
SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("CreatedBy").CurrentFilterValue %>'
runat="server" OnClientSelectedIndexChanged="AddedByIndexChanged">
<
Items
>
<
telerik:RadComboBoxItem
Text
=
"All"
/>
</
Items
>
</
telerik:RadComboBox
>
<
telerik:RadScriptBlock
ID
=
"RadScriptBlock11"
runat
=
"server"
>
<
script
type
=
"text/javascript"
>
function AddedByIndexChanged(sender, args) {
var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");
tableView.filter("CreatedBy", args.get_item().get_value(), "EqualTo");
}
</
script
>
</
telerik:RadScriptBlock
>
</
FilterTemplate
>
<
ItemTemplate
>
<%# Eval("AddedBy") %>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridBoundColumn
DataField
=
"PartCode"
FilterControlAltText
=
"Filter PartCode column"
HeaderText
=
"Part Code"
SortExpression
=
"PartCode"
UniqueName
=
"PartCode"
>
<
ColumnValidationSettings
>
<
ModelErrorMessage
Text
=
""
/>
</
ColumnValidationSettings
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"PartName"
FilterControlAltText
=
"Filter PartName column"
HeaderText
=
"Part Name"
SortExpression
=
"PartName"
UniqueName
=
"PartName"
>
<
ColumnValidationSettings
>
<
ModelErrorMessage
Text
=
""
/>
</
ColumnValidationSettings
>
</
telerik:GridBoundColumn
>
<
telerik:GridNumericColumn
DataFormatString
=
"{0:$###,##0.00}"
DataField
=
"PartPurchasePrice"
DataType
=
"System.Double"
NumericType
=
"Currency"
HeaderText
=
"PurchasePrice"
SortExpression
=
"PartPurchasePrice"
UniqueName
=
"PartPurchasePrice"
Aggregate
=
"Sum"
FooterAggregateFormatString
=
"{0:C}"
>
<
FooterStyle
Font-Bold
=
"true"
></
FooterStyle
>
</
telerik:GridNumericColumn
>
<
telerik:GridNumericColumn
DataFormatString
=
"{0:$###,##0.00}"
DataField
=
"PartSalePrice"
DataType
=
"System.Double"
NumericType
=
"Currency"
HeaderText
=
"SalePrice"
SortExpression
=
"PartSalePrice"
UniqueName
=
"PartSalePrice"
FooterText
=
"Total:"
Aggregate
=
"Sum"
FooterAggregateFormatString
=
"{0:C}"
>
<
FooterStyle
Font-Bold
=
"true"
></
FooterStyle
>
</
telerik:GridNumericColumn
>
<
telerik:GridNumericColumn
DataFormatString
=
"{0:$###,##0.00}"
DataField
=
"JobPartUnitPrice"
DataType
=
"System.Double"
NumericType
=
"Currency"
HeaderText
=
"Unit Price"
SortExpression
=
"JobPartUnitPrice"
UniqueName
=
"JobPartUnitPrice"
Aggregate
=
"Sum"
FooterAggregateFormatString
=
"{0:C}"
>
<
FooterStyle
Font-Bold
=
"true"
></
FooterStyle
>
</
telerik:GridNumericColumn
>
<
telerik:GridNumericColumn
DataField
=
"JobPartQuantity"
DataType
=
"System.Double"
HeaderText
=
"Quantity"
SortExpression
=
"JobPartQuantity"
UniqueName
=
"JobPartQuantity"
Aggregate
=
"Sum"
FooterAggregateFormatString
=
"{0:n}"
>
<
FooterStyle
Font-Bold
=
"true"
></
FooterStyle
>
</
telerik:GridNumericColumn
>
<
telerik:GridNumericColumn
DataFormatString
=
"{0:$###,##0.00}"
DataField
=
"JobPartGST"
DataType
=
"System.Double"
NumericType
=
"Currency"
HeaderText
=
"JobPartGST"
SortExpression
=
"JobPartGST"
UniqueName
=
"JobPartGST"
Aggregate
=
"Sum"
FooterAggregateFormatString
=
"{0:C}"
>
<
FooterStyle
Font-Bold
=
"true"
></
FooterStyle
>
</
telerik:GridNumericColumn
>
<
telerik:GridNumericColumn
DataFormatString
=
"{0:$###,##0.00}"
DataField
=
"JobPartTotal"
DataType
=
"System.Double"
NumericType
=
"Currency"
HeaderText
=
"JobPartTotal"
SortExpression
=
"JobPartTotal"
UniqueName
=
"JobPartTotal"
Aggregate
=
"Sum"
FooterAggregateFormatString
=
"{0:C}"
>
<
FooterStyle
Font-Bold
=
"true"
></
FooterStyle
>
</
telerik:GridNumericColumn
>
</
Columns
>
<
GroupByExpressions
>
<
telerik:GridGroupByExpression
>
<
GroupByFields
>
<
telerik:GridGroupByField
FieldName
=
"JobID"
></
telerik:GridGroupByField
>
</
GroupByFields
>
<
SelectFields
>
<
telerik:GridGroupByField
FieldName
=
"JobID"
HeaderText
=
"JobID#"
></
telerik:GridGroupByField
>
</
SelectFields
>
</
telerik:GridGroupByExpression
>
</
GroupByExpressions
>
</
MasterTableView
>
<
ClientSettings
AllowDragToGroup
=
"true"
>
<
Scrolling
AllowScroll
=
"True"
UseStaticHeaders
=
"True"
/>
</
ClientSettings
>
</
telerik:RadGrid
>
01.
<%@ Page Title=
"Goods Received"
Language=
"C#"
MasterPageFile=
"~/App_Masterpage/PurchaseRequest.master"
AutoEventWireup=
"true"
CodeFile=
"Received.aspx.cs"
Inherits=
"apps_rc_purchasing_my_Default"
%>
02.
03.
<%@ Register Assembly=
"Telerik.Web.UI"
Namespace=
"Telerik.Web.UI"
TagPrefix=
"telerik"
%>
04.
<asp:Content ID=
"Content2"
ContentPlaceHolderID=
"main_content"
runat=
"Server"
>
05.
<div
class
=
"container"
>
06.
<div
class
=
"row"
>
07.
<h3>Goods Received</h3>
08.
<p>
09.
This page has been configured to allow you to adjust the received quantity.
10.
</p>
11.
</div>
12.
<div
class
=
"row"
>
13.
<telerik:RadGrid ID=
"rgRequests"
MasterTableView-DataKeyNames=
"DPO,DLINE"
MasterTableView-EnableViewState=
"true"
14.
OnPreInit=
"rgRequests_PreInit"
EnableViewState=
"true"
ItemStyle-Font-Size=
"smaller"
AlternatingItemStyle-Font-Size=
"smaller"
15.
EnableLinqExpressions=
"false"
PageSize=
"20"
AllowSorting=
"true"
AllowPaging=
"true"
AllowFilteringByColumn=
"false"
runat=
"server"
16.
CssClass=
"cat table table-bordered"
DataSourceID=
"odsRequests"
OnItemUpdated=
"rgRequests_ItemUpdated"
17.
AllowAutomaticInserts=
"false"
AllowAutomaticUpdates=
"true"
AutoGenerateColumns=
"false"
Skin=
"Metro"
>
18.
<MasterTableView EditFormSettings-EditColumn-AutoPostBackOnFilter=
"true"
HeaderStyle-CssClass=
"subhead"
BatchEditingSettings-EditType=
"Row"
19.
EditMode=
"Batch"
CommandItemSettings-SaveChangesText=
"Save"
CommandItemSettings-ShowSaveChangesButton=
"true"
20.
CommandItemDisplay=
"TopAndBottom"
CommandItemSettings-ShowAddNewRecordButton=
"false"
CommandItemSettings-ShowRefreshButton=
"false"
>
21.
<Columns>
22.
<telerik:GridBoundColumn ReadOnly=
"true"
AllowFiltering=
"false"
HeaderStyle-Width=
"30px"
HeaderText=
"PO #"
DataField=
"DPO"
Visible=
"true"
/>
23.
<telerik:GridBoundColumn ReadOnly=
"true"
AllowFiltering=
"false"
HeaderStyle-Width=
"30px"
HeaderText=
"Line #"
DataField=
"DLINE"
Visible=
"true"
UniqueName=
"DLINE"
/>
24.
<telerik:GridBoundColumn ReadOnly=
"true"
AllowSorting=
"true"
CurrentFilterFunction=
"Contains"
HeaderStyle-Width=
"180px"
AutoPostBackOnFilter=
"true"
DataField=
"DITEM"
HeaderText=
"Item"
MaxLength=
"25"
/>
25.
<telerik:GridNumericColumn ReadOnly=
"true"
AllowSorting=
"true"
CurrentFilterFunction=
"Contains"
HeaderStyle-Width=
"180px"
AutoPostBackOnFilter=
"true"
DataField=
"DQTY"
HeaderText=
"Quantity"
MaxLength=
"25"
/>
26.
<telerik:GridNumericColumn AllowSorting=
"true"
CurrentFilterFunction=
"Contains"
HeaderStyle-Width=
"180px"
AutoPostBackOnFilter=
"true"
DataField=
"DRQTY"
HeaderText=
"Rcvd Quantity"
MaxLength=
"25"
UniqueName=
"DRQTY"
/>
27.
</Columns>
28.
</MasterTableView>
29.
</telerik:RadGrid>
30.
</div>
31.
<div
class
=
"row"
runat=
"server"
id=
"dbInfo"
>
32.
<div
class
=
"text-danger"
runat=
"server"
>
33.
<h3>Admin Information</h3>
34.
<div
class
=
"list-group"
>
35.
<div id=
"notify"
class
=
"list-group-item"
runat=
"server"
></div>
36.
</div>
37.
</div>
38.
<div
class
=
"example"
>
39.
<strong>Database:</strong><small>Web.Config - LIBD31USR - POPPOD - INLINE DATASOURCE - <strong>Usage:</strong> <span
class
=
"bs bs-example text-success"
>RiggsCAT.Finance.PurchaseRequestDET.Search(
string
search), PurchaseRequestDET.Update(
string
POID,
string
DLINE,
int
DRQTY)</span></small>
40.
<asp:ObjectDataSource ID=
"odsRequests"
runat=
"server"
SelectMethod=
"GetRequestsByPO"
TypeName=
"RiggsCAT.Finance.PurchaseRequestDET"
UpdateMethod=
"UpdateReceivedQty"
>
41.
<SelectParameters>
42.
<asp:QueryStringParameter QueryStringField=
"POID"
Type=
"String"
Name=
"PO"
/>
43.
</SelectParameters>
44.
<UpdateParameters>
45.
<asp:Parameter Name=
"DPO"
Type=
"String"
/>
46.
<asp:Parameter Name=
"DLINE"
Type=
"String"
/>
47.
<asp:Parameter Name=
"DRQTY"
Type=
"Int32"
/>
48.
</UpdateParameters>
49.
</asp:ObjectDataSource>
50.
</div>
51.
</div>
52.
</div>
53.
</asp:Content>