Я заметил большую разницу между стандартным Dropdownlist и RadComboBox. С помощью asp:dropdownlist можно легко установить выбранное значение из записи базы данных. Но когда я пытаюсь сделать это с помощью RadComboBox, это не работает. Даже когда я пробую rcboTest.Text = "Thomas Hardy", RadComboBox вообще не меняется.
Я использую VS2012, Sql Server 2012, RadComboBox и использую NorthWind в качестве базы данных.
Вот код для заполнения моего DataTable
public DataTable NWDContacts()
{
DataTable dt = new DataTable();
string strCm = "Select * from [Contacts]";
SqlCommand cm = new SqlCommand(strCm, cn);
cm.CommandType = CommandType.Text;
SqlDataAdapter da = new SqlDataAdapter(cm);
cn.Open();
da.Fill(dt);
cn.Close();
return dt;
}
вот мой код для заполнения RadComboBox
protected void Button1_Click(object sender, EventArgs e)
{
rcboTest.DataSource = DA.NWDContacts();
rcboTest.DataTextField = "ContactName";
rcboTest.DataValueField = "ContactID";
rcboTest.DataBind();
}
теперь вот событие нажатия кнопки, которое я использую, чтобы попытаться изменить RadComboBox.Text
protected void Button2_Click(object sender, EventArgs e)
{
rcboTest.Text = "Thomas Hardy";
}
Я пытался использовать rcboTest.SelectedValue, rcboTest.SelectedItem и rcboTest.Text, и поле со списком не хочет отображать текст, а также SelectedValue и SelectedItem, выдает ошибку, говорящую, что это только для чтения.
Короче говоря, я хочу заполнить свой RadComboBox (что я могу), и когда я иду обновлять запись, мне нужно иметь возможность установить текст RadComboBox в значение базы данных.
Я знаю, что код, который я показываю, противоречит тому, что я хочу сделать, но он предназначен для тестирования, прежде чем я помещу его в живое приложение.