2009-07-16 7 views
1

オートコンプリートの実装には多くの味があります。私は最初に非常に堅牢で、各エントリーはキーワードを取ったので、従業員を検索すると、姓や名字を入力すると、結果はGoogle Suggestと同様に戻ってきました。AjaxツールキットとJQueryでオートエクステンダーエクステンダーを「開始」に限定

JQqueryオートコンプリートとASP.Netオートコンプリートエクステンダーの両方で制限されているのは、キーワード検索がない、または機能が含まれているだけで、「Startswith」タイプの検索が使用されていることです。

たとえば、「Mark Adams」をスタッフ名として検索するには、M、a、rなどを入力する必要があります。A、dなどを入力した場合、結果は返されません。

誰もがこれについての計画を知っていますか?今そこには何かありますか?

+0

Ajaxツールキットの編集を確認してください。 – simplyharsh

答えて

1

あなたはそれが正確に何をしたいん

matchContains:true 

のようなjqueryのオートコンプリートオプションを見逃している必要があります。あなたが編集

そしてajaxtoolkit AutoCompleteExtenderため

が、私はあなたがjqueryの中matchContainsのいずれかのオプションに相当を取得しない恐れて、DなどAを入力するときには、マーク・アダムスのために一致します。しかし、あなたはサービスメソッドで簡単にそれを行うことができます。

ServiceMethod="GetNameList" 

ここで、GetNameListには、データの一致方法の全体的なロジックが含まれています。例えば。

public partial class _Default : System.Web.UI.Page { 
    [WebMethod] 
    public static string[] GetNameList(string prefixText, int count) { 
     string sql = String.Format("select name from customers where name like @given_name"); 

     List<string> nameList = new List<string>(); 
     using (SqlConnection connection = new SqlConnection("Integrated Security=SSPI;Initial Catalog=Northwind;Data Source=.")) 
     using (SqlCommand command = new SqlCommand(sql, connection)) { 
      connection.Open(); 
      command.Parameters.AddWithValue("@given_name", "%"+prefixText"%"); 
      using (SqlDataReader reader = command.ExecuteReader()) { 
       while (reader.Read()) { 
        nameList.Add(reader.GetString(0)); 
       } 
      } 
     } 

     return nameList.ToArray(); 
    } 
} 

以下は、一致するコード行です。

command.Parameters.AddWithValue("@given_name", "%"+prefixText"%"); 
+0

ありがとうございました。ajaxtoolkit AutoCompleteExtenderに相当するものがありますか? –

関連する問題