我正在使用AutoCompleteCustomSource,AutoCompleteMode和AutoCompleteSource属性来创建一个自动完成输入字符串的TextBox。但它将文本框中输入的前缀与维护源中所有字符串的前缀进行比较。
但我不想比较前缀。我想比较所有字符串的后缀。
以下是我的代码段
/* Event triggered on text change */
private void tbSelectedValue_TextChanged(object sender, EventArgs e)
{
List<string> drawingList = new List<string>();
drawingList=ReadDrawingNames(tbSelectedValue.Text);
if (drawingList!=null && drawingList.Count > 0) {
this.tbSelectedValue.AutoCompleteCustomSource.AddRange(drawingList.ToArray());
}
}
/* Function to get suggestions for Auto complete */
public List<string> ReadDrawingNames(string tbSelectvalueText)
{
System.Data.DataTable dt = new DataTable();
List<string> drawingFileName = new List<string>();
try
{
dt = PIDDBUtilities.GetSQLData(string.Format("SELECT [DrawingName] FROM [SynchroniseDetails] where [DrawingName] like '%{0}%'",tbSelectvalueText), PIDDBTYPE.REPORTSDB);
foreach (DataRow row in dt.Rows)
{
if (!drawingFileName.Contains(row["DrawingName"].ToString()))
drawingFileName.Add(row["DrawingName"].ToString());
}
return drawingFileName;
}
catch (Exception ex)
{
string errormsg = ex.Message;
}
return null;
}
答案 0 :(得分:0)
AutoCompleteCustomSource 通过将输入的前缀与维护来源中的所有字符串的前缀进行比较,自动完成输入字符串。See msdn for more details。你想要比较所有字符串的后缀是非常不合逻辑的。请进一步分享您希望实现的目标?