J'utilise un AutoCompleteExtender pour mon projet ASP.NET et il affiche les champs à afficher correctement. Toutefois, lorsque l'utilisateur choisit une suggestion de saisie semi-automatique, j'ai besoin de la fonction pour extraire un autre champ de la ligne (la colonne 'ID' qui est la clé primaire), en tant que champ nécessaire pour afficher les données pertinentes.AutoCompleteExtender questions
Voici mon code
public string[] GetAutoComplete(string prefixText)
{
int count = 10;
string sql = "SELECT * FROM SageAccount WHERE Name LIKE @prefixText";
SqlDataAdapter da = new SqlDataAdapter(sql, "My Connection String(changed due to personal info being shown)");
da.SelectCommand.Parameters.Add("@prefixText", SqlDbType.VarChar, 50).Value = prefixText + "%";
DataTable dt = new DataTable();
da.Fill(dt);
string[] items = new string[dt.Rows.Count];
int i = 0;
foreach (DataRow dr in dt.Rows)
{
items.SetValue(dr["Name"].ToString(), i);
i++;
}
return items;
}
EDIT: Une partie du code modifié Je suis en train:
public string[] GetAutoComplete(string prefixText, int count)
{
string sql = "SELECT * FROM SageAccount WHERE Name LIKE @prefixText";
SqlDataAdapter da = new SqlDataAdapter(sql, "Con string");
da.SelectCommand.Parameters.Add("@prefixText", SqlDbType.VarChar, 50).Value = prefixText + "%";
DataTable dt = new DataTable();
da.Fill(dt);
List<string> Names = new List<string>();
//string[] items = new string[dt.Rows.Count];
int i = 0;
foreach (DataRow dr in dt.Rows)
{
Names.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(dr["Name"], dr["ID"].ToString());
//items.SetValue(dr["Name"].ToString(), i);
}
return Names.ToArray();
La question que j'ai ici est que cela me donne l'erreur:
The best overloaded method match for 'AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItems(string, string)' has some invalid arguements'
Des idées? Merci beaucoup
Cheers copain. J'ai mis à jour avec un peu plus de code parce que j'ai un peu de mal. – Chris