Menino Posted July 16, 2013 at 03:00 PM Report #518950 Posted July 16, 2013 at 03:00 PM Boas pessoal, A minha duvida é a seguinte, quero fazer uma pesquisa num campo numa pagina da web onde tem várias opcções, e o tipo de pesquisa que quero fazer é eu ao escrever por exemplo as 2 letras ou as 3 letras iniciais da palavra e aparecer logo uma opção dessa palavra que existe na lista. O meu código é o seguinte: <div class="controlRow"> <b>Marca</b> do Veículo <br /> <telerik:RadComboBox ID="rcbBrand" runat="server" CssClass="rcbControl" TabIndex="1" /> </div> Muito Obrigado
yoda Posted July 16, 2013 at 05:10 PM Report #518974 Posted July 16, 2013 at 05:10 PM Onde foste buscar esse código? before you post, what have you tried? - http://filipematias.info sense, purpose, direction
Menino Posted July 16, 2013 at 05:39 PM Author Report #518977 Posted July 16, 2013 at 05:39 PM É meu. eu já tenho tudo a funcionar, só queria adicionar essa possibilidade que falei. Obrigado
Rui Carlos Posted July 16, 2013 at 06:08 PM Report #518981 Posted July 16, 2013 at 06:08 PM O teu código não parece propriamente HTML. Adicionalmente, vais precisar de Javascript para esse tipo de funcionalidade (e possivelmente de uma linguagem server side). Em todo o caso, a solução para o que procuras parece estar aqui: http://demos.telerik.com/aspnet-ajax/combobox/examples/populatingwithdata/autocompletesql/defaultcs.aspx Rui Carlos Gonçalves
Menino Posted July 17, 2013 at 08:37 AM Author Report #519056 Posted July 17, 2013 at 08:37 AM Ainda não olhei bem para o link que envias-te, mas por alto parece ser mesmo aquilo que eu quero muito obrigado 🙂
Menino Posted July 17, 2013 at 10:07 AM Author Report #519065 Posted July 17, 2013 at 10:07 AM Já estive a debruçar no assunto mas estou com o problema que é o seguinte, a comboBox quando começo a digitar as letras faz loading sempre que teclo um letra mas não me vi buscar o que tenho na lista passo a demonstrar o código que fiz para o caso de alguém me conseguir ajudar. Página aspx: <div class="controlRow"> <b>Marca</b> do Veículo <br /> <telerik:RadComboBox ID="rcbBrand" runat="server" CssClass="rcbControl" TabIndex="1" DataTextField="CarBrand" EnableLoadOnDemand="True" ShowMoreResultsBox ="true" /> </div> E agora a CodeBehind desta página mais própriamente a parte do código onde actualmente está a ser carregada a lista das marcas de automóveis: protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { this.btnSave.Attributes.Add("onclick", Helper.DisableTheButton(this.Page, this.btnSave)); try { if (HttpContext.Current.User.IsInRole("Locked")) { btnSave.Enabled = false; } rcbBrand.DataSource = PaySimplexWebLayers.Business.ParkingBLL.ListCarBrands(); rcbBrand.DataValueField = "CarBrandId"; rcbBrand.DataTextField = "CarBrand"; rcbBrand.DataBind(); } catch { lblStatus.Text = "Ocorreu um erro inesperado."; } } } O que poderei a estar a fazer mal? Obrigado
Rui Carlos Posted July 17, 2013 at 06:45 PM Report #519120 Posted July 17, 2013 at 06:45 PM Penso que o método que precisas de implementar seja o equivalente a este (ficheiro Products.cs, no link que te indiquei): public RadComboBoxData GetCompanyNames(RadComboBoxContext context) { string sql = "SELECT * from Customers WHERE CompanyName LIKE @text + '%'"; SqlDataAdapter adapter = new SqlDataAdapter(sql, ConfigurationManager.ConnectionStrings["NorthwindConnectionString"].ConnectionString); DataTable data = new DataTable(); adapter.SelectCommand.Parameters.AddWithValue("@text", context.Text); adapter.Fill(data); List<RadComboBoxItemData> result = new List<RadComboBoxItemData>(context.NumberOfItems); RadComboBoxData comboData = new RadComboBoxData(); try { int itemsPerRequest = 10; int itemOffset = context.NumberOfItems; int endOffset = itemOffset + itemsPerRequest; if (endOffset > data.Rows.Count) { endOffset = data.Rows.Count; } if (endOffset == data.Rows.Count) { comboData.EndOfItems = true; } else { comboData.EndOfItems = false; } result = new List<RadComboBoxItemData>(endOffset - itemOffset); for (int i = itemOffset; i < endOffset; i++) { RadComboBoxItemData itemData = new RadComboBoxItemData(); itemData.Text = data.Rows[i]["CompanyName"].ToString(); itemData.Value = data.Rows[i]["CompanyName"].ToString(); result.Add(itemData); } if (data.Rows.Count > 0) { comboData.Message = String.Format("Items <b>1</b>-<b>{0}</b> out of <b>{1}</b>", endOffset.ToString(), data.Rows.Count.ToString()); } else { comboData.Message = "No matches"; } } catch(Exception e) { comboData.Message = e.Message; } comboData.Items = result.ToArray(); return comboData; } Mas não conheço os detalhes das bibliotecas que estás a usar. Rui Carlos Gonçalves
Menino Posted July 18, 2013 at 05:43 PM Author Report #519242 Posted July 18, 2013 at 05:43 PM Bem, hoje estive de volta deste problema e ainda não consegui a solução :s
Menino Posted July 19, 2013 at 09:39 AM Author Report #519324 Posted July 19, 2013 at 09:39 AM Pessoal já resolvi o meu problema, tanto código que andei a fazer quando apenas precisava de colocar "MarkFirstMatch="true"" Obrigado 🙂
Menino Posted August 6, 2013 at 03:05 PM Author Report #520992 Posted August 6, 2013 at 03:05 PM Pessoal já agora mais uma pequena duvida, eu tenho numa caixa de texto em que o utilizador escreve um numero e no fim automaticamente aparece um simbolo, mas queria que esse simbolo aparece-se em vez de no fim no inicio, é possível? ty
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now