Я использую Telerik Raddropdownlist и установил режим автоматического завершения, чтобы предложить.Когда я набираю первый символ в текстовом поле, скажем «1», раскрывающийся список предлагает все проекты, начинающиеся с 1, что нормально (допустим, первые 2 проекта, перечисленные после match1, - 1234 и 1456).Однако, когда я набираю, скажем, скажем еще одну «1», к текстовому полю добавляется «111234», который в основном представляет собой те 1, которые я набрал вместе с первым элементом в раскрывающемся списке.Хотя режим автозаполнения является предложением, а не предложением добавления, я понятия не имею, почему добавляется первый матч.
this.radDropDownList1.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest;
this.radDropDownList1.AutoSizeItems = true;
this.radDropDownList1.DefaultItemsCountInDropDown = 20;
this.radDropDownList1.DropDownHeight = 160;
this.radDropDownList1.DropDownMinSize = new System.Drawing.Size(400, 200);
this.radDropDownList1.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F);
this.radDropDownList1.Location = new System.Drawing.Point(803, 23);
this.radDropDownList1.MaxDropDownItems = 10;
this.radDropDownList1.Name = "radDropDownList1";
this.radDropDownList1.RootElement.AutoSize = false;
this.radDropDownList1.Size = new System.Drawing.Size(280, 36);
this.radDropDownList1.TabIndex = 2;
this.radDropDownList1.Text = "Select Project";
this.radDropDownList1.DropDownListElement.AutoCompleteSuggest.DropDownList.Popup.Font = new System.Drawing.Font("Microsoft Sans Serif", 16);
this.radDropDownList1.SelectedIndexChanged += new Telerik.WinControls.UI.Data.PositionChangedEventHandler(this.raddropdownlist_SelectedIndexChanged);
radDropDownList1.DataSource = ditems;
radDropDownList1.DisplayMember = "ProjectName";
radDropDownList1.ValueMember = "ProjectName";
radDropDownList1.AutoCompleteDataSource = ditems;
radDropDownList1.AutoCompleteMode = AutoCompleteMode.Suggest;
Size popupSize = new Size(400, 300);
radDropDownList1.DropDownListElement.AutoCompleteSuggest.DropDownList.DropDownMinSize = popupSize;
radDropDownList1.DropDownListElement.DropDownMinSize = popupSize;
radDropDownList1.ListElement.Font = new Font("Microsoft Sans Serif",16);
radDropDownList1.DropDownListElement.AutoCompleteSuggest.DropDownList.Popup.Font = new System.Drawing.Font("Microsoft Sans Serif", 16);
}
catch (Exception ex)
{
Utils.LogManager.write("Exception occur While populating Projects. error detail: " + ex.Message + "\r\nStacktrace: " + ex.StackTrace, "error");
ExceptionDialog.ShowExceptionDialog(ex);
}
radDropDownList1.SelectedIndex = -1;
radDropDownList1.Text = "Select Project";
private void raddropdownlist_SelectedIndexChanged(object sender, Telerik.WinControls.UI.Data.PositionChangedEventArgs e)
{
if (radDropDownList1.SelectedIndex >=0)
{
cbTaskList.Select();
PopulateTasks();
if (this.GetMainForm().IsResetApp)
{
return;
}
}
}
Я знаю, что в моем коде много избыточности, но мне было трудно изменить размер всплывающего окна AutoSuggest, и я тоже новичок в этом.