Hi,
We are using SearchBox to search for patients. After entering some texts when we hit ENTER key it should submit and search.
It works fine when we use the main ENTER key but when we hit the numpad ENTER key it doesn't work as it should.
In fact it opens edit patient dialog.
I checked the demo here in your site and here also I noticed that the main ENTER key works but when you hit Numpad ENTER key it doesn't
https://demos.telerik.com/aspnet-ajax/searchbox/examples/overview/defaultcs.aspx
Thank You
I want to be able to let a user choose "Landlords", "Tenants", "Owners" and search for a name. The data for the search box comes from different tables.
<asp:SqlDataSource ID="SqlDataSourceTenants" runat="server"
ConnectionString="<%$ ConnectionStrings:ProjectConnectionString %>"
SelectCommand="SELECT Id,TenantEntityName as EntityName FROM TenantEntities"></asp:SqlDataSource>
<asp:SqlDataSource ID="SqlDataSourceLandlords" runat="server"
ConnectionString="<%$ ConnectionStrings:ProjectConnectionString %>"
SelectCommand="SELECT Id, LandlordEntityName as EntityName FROM LandlordEntities"></asp:SqlDataSource>
<asp:SqlDataSource ID="SqlDataSourceOwners" runat="server"
ConnectionString="<%$ ConnectionStrings:ProjectConnectionString %>"
SelectCommand="SELECT Id,OwnerEntityName As EntityName FROM OwnerEntities"></asp:SqlDataSource>
I would like to set the DatasourceId on the RadSearchBox to one of the above when the SearchContext changes. I have worked out how to get the selected searchcontext text via an Ajax Request.
function OnClientLoad(sender, args) {
var context = sender.get_searchContext();
var $ = $telerik.$;
$(context).on({
"selectedIndexChanged": function (event) {
var searchbox = $find("<%=RadSearchBox1.ClientID%>");
// this is the search context dropdown selectedIndexChanged event handler
var ajaxManager = $find("<%=RadAjaxManager1.ClientID%>");
ajaxManager.ajaxRequest(context.get_selectedItem().get_text());
}
});
}
I cannot work out how to change the datasource at runtime (I get datasource not found when I run the following code).
Protected Sub RadAjaxManager1_OnAjaxRequest(sender As Object, e As AjaxRequestEventArgs)
if not isnothing(radsearchbox1.datasource)
select Case e.Argument
Case "Tenants"
RadSearchBox1.DataSource = sqldatasourcetenants
RadSearchBox1.databind
Case "Landlords"
RadSearchBox1.DataSource = sqldatasourcelandlords
RadSearchBox1.databind
Case "Owners"
RadSearchBox1.DataSource = sqldatasourceowners
RadSearchBox1.databind
End Select
End If
End Sub
In the OnSearch Event I just need to get the type of entity (which I could get from checking the Id of the bound datasource) and the Id of the entity:
Protected Sub RadSearchBox1_OnSearch(sender As Object, e As SearchBoxEventArgs)
If e.DataItem IsNot Nothing Then
Dim dataItem = DirectCast(e.DataItem, Dictionary(Of String, Object))
Dim thisId As String = dataItem("Id").ToString()
Dim thisEntityName As String = dataItem("EntityName").ToString()
' Lookup in database and redirect to the relevant data view / edit page
End If
End Sub
Surely this is a common request and deserves consideration?
- Add Filter="None" (as discussed here: http://www.telerik.com/community/forums/aspnet-ajax/search-box/how-can-i-set-filter-to-none.aspx).
ADD: Property to SearchBox, which displays text if no records are returned.
We are having a touchscreen problem with the RadSearchBox, specifically on the MicroSoft surface touchscreen. I have tested this out on mobile phone and other tablets, but the problem occurs on the Surface.
The issue is that you cannot change the SearchContext, because it never seems to recognize the touch event.
You can touch the SearchContext to initiate the drop-down event, but then it is impossible to select an item from the list.
There are no other problems with Telerik controls on the Surface (the touch events on RadDropDown, RadTabStrip, RadComboBox, RadMenu, etc.) all seem to be working fine.
Hi, in SearchBox, when the field being searched is a date, we would like to be able to search via the 'smart parsing engine' of DateInput.
Can I advice to extend SearchBox or RadAutoCompleteBox control to write free text and open list box only if I digit a custom char like '@'? I am tinking a control like Post textbox in Facebook or in Twitter where I can digit text and, if I digit '@' char opens a list with all friends o mine. If you want extend more, it will be wonderful if you can associate more than one custom char and each custom char is associated to a different Data source. Example: - '@' to get products - '#' to get Customers - and so on... This SearchBox must can be multiline too. Thanks, Francesco.
Perhaps a simple feature to permit high speed searches in RadSearch is to allow custom SQL Select strings in lieu of direct connect to a SQL Datasource (unless there is a way to accomplish the following in a SQL Datasource)
I have FreeText and text optimization configured/added in SQL Server. This provides a tremendous speed boost for searching strings. Therefore, somehow in the RadSearch box allow searches such as:
SELECT * FROM myTable WHERE contains(myTextIndexedColumn,'this is fast')
SELECT * FROM myTable WHERE FreeText(myTextIndexedColumn,'this is so much faster!')
Please implement WAI-ARIA support in RadSearchBox with and without a Search Context. It needs the same type of logic added as the AutoComplete and ComboBox control so that JAWS can speak and navigate the list items properly. It looks like there was a little started because it renders an ARIA live region for status, but never writes to it from what I can tell. I know this document lists the current controls that support ARIA - http://docs.telerik.com/devtools/aspnet-ajax/controls/wai-aria-support-and-screen-readers Thanks, Mike
A workaround is to disable the embedded jQuery and use an older version (for example, 1.11.1 which is the previous version the suite used): https://docs.telerik.com/devtools/aspnet-ajax/controls/scriptmanager/disabling-the-embedded-jquery Repro steps: - Put a searchbox on the page with some data source - Hook its postback handler, OnSearch - search something in it, select the item to postback expected: search fired actual: JS error in FF <telerik:RadSearchBox RenderMode="Lightweight" runat="server" ID="RadSearchBox1" DataTextField="Name" DataValueField="id" OnSearch="RadSearchBox1_Search"> </telerik:RadSearchBox> protected void Page_Load(object sender, EventArgs e) { RadSearchBox1.DataSource = GetData(); RadSearchBox1.DataBind(); } protected DataTable GetData() { DataTable tbl = new DataTable(); tbl.Columns.Add(new DataColumn("id", typeof(decimal))); tbl.Columns.Add(new DataColumn("Name", typeof(string))); tbl.Columns.Add(new DataColumn("Reason", typeof(string))); tbl.Columns.Add(new DataColumn("someField", typeof(decimal))); tbl.Columns.Add(new DataColumn("anotherField", typeof(string))); tbl.Rows.Add(new object[] { 1, "one", "fi\\nrst", 2, "5" }); tbl.Rows.Add(new object[] { 2, "two", @"se\ncond", 3, null/*SIMULATE EMPTY VALUE*/ }); tbl.Rows.Add(new object[] { 3, "three", "third", 4, "5" }); tbl.Rows.Add(new object[] { 4, "four", "fourth", 5, "5" }); return tbl; } protected void RadSearchBox1_Search(object sender, SearchBoxEventArgs e) { Response.Write(DateTime.Now.ToString()); }
When the SearchBox is on the right side of the screen and the dropdown width is larger than the SearchBox width, the dropdown goes outside the viewport: Actual: https://www.screencast.com/t/4SoNcRCj Expected/fixed: https://www.screencast.com/t/smfPgy767M Workaround: <script> function OnClientLoad(sender, args) { sender._dropDown.on({ "reflowed": sender._onReflowed }, sender) } Telerik.Web.UI.RadSearchBox.prototype._onReflowed = function () { var that = this; var $animationContainer = $(that._dropDown._animationContainer); if (that._enableScreenBoundaryDetection) { var availableSpace = that._dropDown._getAvailableSpace(); var tableWidth = $(that._innerWrapElement).outerWidth(); var dropDownWidth = $animationContainer.outerWidth(); var overflow = dropDownWidth - (tableWidth + availableSpace.right); if (overflow > 0) { var left = parseInt($animationContainer.css("left"), 10); var newLeft = Math.max(left - overflow, left - (dropDownWidth - tableWidth)); $animationContainer.css("left", newLeft); } } } </script> <telerik:RadSearchBox runat="server" ID="RadSearchBox1" DataTextField="ShipName" OnClientLoad="OnClientLoad" DropDownSettings-Width="500px" DataValueField="OrderID"> </telerik:RadSearchBox>