我注意到股票Dropdownlist和RadComboBox之间存在很大差异。使用asp:dropdownlist可以轻松设置数据库记录中的选定值。但是,当我尝试使用RadComboBox进行此操作时,它不起作用。即使当我尝试rcboTest.Text =“ Thomas Hardy”时,RadComboBox也不会改变。
我正在使用VS2012,Sql Server 2012,RadComboBox并将NorthWind用作数据库。
这是填充我的数据表的代码
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,并且组合框不想显示Text,SelectedValue和SelectedItem,并抛出错误,指出它是只读的。
简而言之,我想填充我的RadComboBox(可以),当我更新记录时,我需要能够将RadComboBox Text设置为数据库值。
我知道我显示的代码与我想做的事情矛盾,但这是在将其投入实时应用程序之前进行测试的代码。
有多种方法可以做到-
RadComboBoxItem item = RadComboBox1.FindItemByText("Thomas Hardy");
item.Selected = true;
int index = RadComboBox1.FindItemIndexByValue("2");
RadComboBox1.SelectedIndex = index;
//In your case value will be ContactID
RadComboBox1.SelectedValue = value;
参考-http: //www.telerik.com/help/aspnet-ajax/combobox-items-server-side-code.html
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句