2016-06-17 6 views
0

В пользовательском интерфейсе у меня есть список переключателей, который содержит (первый, второй, третий уровень). С другой стороны, у меня есть таблица учеников (ID, имя, уровень, DOB, ....), которые сохраняют уровень ученика как varchar. В загрузке страницы я хочу заполнить radioButtonList на основе значения, считанного из базы данных. выполняется следующий код, но он не проверяет переключатель, который считывает его из базы данных.Проверить радиокнопку в RadioButtonList на основе текстового значения, считанного из базы данных

using (MySqlConnection SqlCon = new MySqlConnection(connStr)) 
       { 
        MySqlDataReader myReader = null; 
        using (MySqlCommand cmd = new MySqlCommand("SELECT S_Id, level FROM student where S_Id='" + 111 + "'")) 
        { 
         cmd.CommandType = CommandType.Text; 
         cmd.Connection = SqlCon; 
         SqlCon.Open(); 
         myReader = cmd.ExecuteReader(); 
         if (RadioButtonList1.Items.FindByValue(myReader.ToString()) != null) 
         { 
          // RadioButtonList1.Items.FindByValue(myReader.ToString()).Selected = true; 
          RadioButtonList1.SelectedValue = myReader.ToString(); 
         } 

         SqlCon.Close(); 
        } 
       } 
+0

Ваш код, который вы вызываете для получения данных из базы данных, находится в обратной проверке? – riteshmeher

+0

Да, я помещаю этот код внутрь: if (! This.IsPostBack) {... My Code ...} – John

+0

radioButtonList1.Items.FindByText («Your Text»). Selected = true; или вы также можете сделать с Index Index RadioButtonList.Items [1] .Selected = true; –

ответ

0

Вы должны пройти через объект DataReader, чтобы получить его значения. Попробуйте что-то вроде этого:

using (MySqlConnection SqlCon = new MySqlConnection(connStr)) 
{ 
    MySqlDataReader myReader = null; 
    using (MySqlCommand cmd = new MySqlCommand("SELECT S_Id, level FROM student where S_Id='" + 111 + "'")) 
{ 
    cmd.CommandType = CommandType.Text; 
    cmd.Connection = SqlCon; 
    SqlCon.Open(); 
    myReader = cmd.ExecuteReader(); 
    while (myReader.Read()) 
    { 
    if (RadioButtonList1.Items.FindByValue(myReader["level"].ToString()) != null) 
    {       
    RadioButtonList1.SelectedValue = myReader["level"].ToString(); 
    }    
    } 
    sqlCon.Close(); 
} 
}