2015-10-07 2 views
1

Я работаю над asp.net. У меня есть регистрационная форма с сеткой. Вид сетки содержит идентификатор выпадающего списка (ddl).Раскрывающийся список, чтобы показать все значения

Когда я выбираю сетку, все значения должны отображаться в соответствующих полях в регистрационной форме. Для ddl, из значения id ddl в виде сетки, в раскрывающемся списке показан соответствующий раскрывающийся список.

ПРОБЛЕМА ПРИХОДИТ ЗДЕСЬ, выпадающий список, показывающий только соответствующее значение и СНОВА ОНА НЕ МОЖЕТ БЫТЬ щелкнула заполняться для UPDATE КНОПКИ

enter image description here.

cmd.CommandText = "SELECT * FROM COMPANY WHERE COMPANYID='" + dbCompany + "'"; 
       txtTextBox1.Text = newcmpid; 
       DataTable dt = new DataTable(); 
       dt.Load(cmd.ExecuteReader()); 
       ddlCompanyName.DataSource = dt; 
       ddlCompanyName.DataTextField = "COMPANYNAME"; 
       ddlCompanyName.DataValueField = "COMPANYID"; 
       ddlCompanyName.DataBind(); 

КАК заселить DROPDOWNLIST СО ВСЕМИ ЭЛЕМЕНТОВ ОДНОВРЕМЕННО Подчеркивая соотвествующее значение

ответ

1

для того чтобы достигнуть выбор просто использовать:

ddlCompanyName.Items.FindByValue(dbCompany).Selected = true; 

Но Вы должны также заметить, что вы SQL запрос dangorous. Это позволяет создавать атаки SQL-инъекций. Вместо того, чтобы конкатенировать его, вы должны SQL-параметры.

Таким образом, полный код может выглядеть так:

cmd.CommandText = "SELECT * FROM COMPANY WHERE [email protected];"; 
cmd.Parameters.Add("@ID", SqlDbType.Int); 
cmd.Parameters["@ID"].Value = dbCompany; 
txtTextBox1.Text = newcmpid; 
DataTable dt = new DataTable(); 
dt.Load(cmd.ExecuteReader()); 
ddlCompanyName.DataSource = dt; 
ddlCompanyName.DataTextField = "COMPANYNAME"; 
ddlCompanyName.DataValueField = "COMPANYID"; 
ddlCompanyName.DataBind(); 
ddlCompanyName.Items.FindByValue(dbCompany).Selected = true; 
+0

Большое спасибо за помощь .... Но показывать ошибки FindByValue (dbCompany) имеет недействительные arguments.i Я новичок в C# .anyother вносимое исправление ?? –

+0

Если dbCompany - это intiger, используйте метод toString на нем –

Смежные вопросы