2014-06-14 18 views
5

Tôi đã nhận thấy sự khác biệt lớn giữa Dropdownlist và RadComboBox. Với danh sách thả xuống asp: nó rất dễ dàng để thiết lập giá trị đã chọn từ một bản ghi cơ sở dữ liệu. Nhưng khi tôi cố gắng làm điều đó với RadComboBox, nó không hoạt động. Ngay cả khi tôi thử rcboTest.Text = "Thomas Hardy", RadComboBox sẽ không thay đổi chút nào.Làm cách nào để đặt giá trị được chọn trong radcombobox từ cơ sở dữ liệu?

Tôi đang sử dụng VS2012, Sql Server 2012, RadComboBox và sử dụng NorthWind làm cơ sở dữ liệu.

Đây là đoạn mã để cư trú của tôi 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; 
    } 

đây là codebehind tôi để cư RadComboBox

protected void Button1_Click(object sender, EventArgs e) 
    { 
     rcboTest.DataSource = DA.NWDContacts(); 
     rcboTest.DataTextField = "ContactName"; 
     rcboTest.DataValueField = "ContactID"; 
     rcboTest.DataBind(); 
    } 

tại đây là sự kiện nhấn nút Tôi đang sử dụng để cố gắng thay đổi RadComboBox .Text

protected void Button2_Click(object sender, EventArgs e) 
    { 
     rcboTest.Text = "Thomas Hardy"; 
    } 

Tôi đã thử sử dụng rcboTest.SelectedValue, rcboTest.Se lectedItem, và rcboTest.Text và combobox không muốn hiển thị Text và SelectedValue và SelectedItem, ném một lỗi nói rằng nó chỉ đọc.

Vì vậy, trong ngắn hạn, tôi muốn điền RadComboBox của mình (mà tôi có thể) và khi tôi cập nhật bản ghi, tôi cần có thể đặt Văn bản RadComboBox thành giá trị cơ sở dữ liệu.

Tôi biết mã tôi đang hiển thị là mâu thuẫn với những gì tôi muốn làm, nhưng nó là để thử nghiệm trước khi tôi đặt nó vào một ứng dụng trực tiếp.

Trả lời

8

Có nhiều cách để làm điều này -

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; 

Reference - http://www.telerik.com/help/aspnet-ajax/combobox-items-server-side-code.html

+0

Cảm ơn, tôi sẽ chấp nhận điều này là câu trả lời ngay sau khi nó cho phép tôi – Chris

+0

Tôi Vui mừng, nó giúp bạn. – Typist

Các vấn đề liên quan