Как реализовать автозаполнение текстового поля для нескольких значений, разделенных запятой?
этот код возвращает одно значение, но я хочу отобразить его как 123,224,456,786 в текстовом поле.
Что я уже пробовал:
[System.Web.Script.Services.ScriptMethod()] [System.Web.Services.WebMethod(EnableSession = true)] public static List<string> employeeid(string prefixText, int count) { OracleConnection con = new OracleConnection(ConfigurationManager.ConnectionStrings["Conn"].ConnectionString.ToString()); DataTable dtbl = new DataTable(); OracleDataAdapter da = new OracleDataAdapter(); List<string> Empid = new List<string>(); try { string str = "select '3'|| emp_code || '0' as empcode from empmaster where '3'|| emp_code || '0' like '" + prefixText + "%'"; dtbl = new DataTable(); da = new OracleDataAdapter(str, con); if (con.State == ConnectionState.Closed) { con.Open(); } da.Fill(dtbl); for (int i = 0; i < dtbl.Rows.Count; i++) { Empid.Add(dtbl.Rows[i]["empcode"].ToString()); } return Empid; } catch (Exception ex) { throw ex; } }
Leo Chapiro
>этот код возвращает одно значение
Я думаю, что этот код возвращает список<string>?
Теперь вам нужно разобрать этот список и добавить cooma или что-то еще между частями?
Или в чем именно здесь проблема?
Darsh12345
Я хочу отобразить несколько значений в текстовом поле автозаполнения, разделенных запятой. как это сделать?
Member1x
Ладно, давай я все проясню. У вас есть список "строка". Вы каким-то образом связываете это с вашим текстовым полем автозаполнения. Итак, когда вы вводите что-то в это текстовое поле, вы хотите, чтобы где-то показывались подходящие emp_codes к этому тексту, разделенные запятой? Что ты получишь теперь? Только первый матч?Как и где вы формируете свои результаты? Знаете ли вы, какие индексы вашего Empid-списка вам нужно показать? Если да то вы можете сделать что то вроде этого:
string result = ""; int[] indices = {1, 4, 15, 16}; // Just an example; you need to get the indices by searching via RegEx for example foreach (int i in indices) { result += Empid[i] + ","; // Create your string with values separated by comma } result = result.TrimEnd(','); // Remove last comma
Теперь результат должен отображать то, что вы хотите.
Richard Deeming
catch (Exception ex) { throw ex; }
Не делай этого! Вы просто выбросили трассировку стека, что значительно затрудняет поиск реальной причины исключения.
Если вы действительно хотите повторно создать исключение, просто используйте
throw;
вместо:catch (Exception ex) { throw; }
Но так как вы ничего не делаете с исключением, которое вы поймали, вы должны просто удалить
try..catch
блок вместо этого.