private void exam_Load(object sender, EventArgs e)
{
GetCount();
MySqlConnection con = new MySqlConnection("server = localhost; user id = root; password =; database = dbtest1;");
MySqlCommand cmd = new MySqlCommand("SELECT question, question_no, choice1, choice2, choice3, choice4 from quiz_tions where quiz_id = '" + lid + "' ORDER BY RAND() LIMIT " + count + ";", con);
MySqlDataAdapter sda = new MySqlDataAdapter(cmd);
DataTable dt = new DataTable();
sda.Fill(dt);
label5.DataBindings.Add("Text", dt, "question");
label6.DataBindings.Add("Text", dt, "question_no");
rb1.DataBindings.Add("Text", dt, "choice1");
rb2.DataBindings.Add("Text", dt, "choice2");
rb3.DataBindings.Add("Text", dt, "choice3");
rb4.DataBindings.Add("Text", dt, "choice4");
dataRepeater1.DataSource = dt;
LoadData();
label1.Text = qtitle;
label3.Text = qtype;
}
У меня есть DataRepeater
элемент управления, который заполняется с использованием приведенного выше кода. Каждый раз, когда этот код выполняется. , ,C# - лучший способ повторить все строки в datarepeater?
private void button3_Click(object sender, EventArgs e)
{
foreach (DataRepeaterItem c in dataRepeater1.Controls)
{
ss += ((Label)c.Controls["label5"]).Text + "\n";
}
MessageBox.Show(ss);
ss = "";
}
Это дает мне разные результаты, когда я нажимаю различные строки перед нажатием кнопки (иногда 3 линии, иногда 4 линии), и это не всегда правильно, потому что я есть 5 строк на моем DataRepeater
контроля, когда я исполняю это. Почему это происходит? Каков правильный способ перебора строк в DataRepeater
?
P.S. Другая проблема (может быть), не связанная с моей записью, заключается в том, что всякий раз, когда я прокручиваю вниз/вверх по DataRepeater
, иногда она автоматически проверяет случайный RadioButton
в списке. Что случилось с этим контролем?
Все тот же :( – ItaChi
Вы уверены, что 'label5.Text' не пуст в некоторых элементы репитера? –
Да, они не пустые. – ItaChi