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控件,它是使用上面的代码填充的。每次执行此代码时。。。
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行),而且它并不总是正确的,因为当我执行该按钮时,我的DataRepeater控件上有5行。为什么会发生这种情况?迭代DataRepeater行的正确方法是什么
附注:另一个与我的帖子无关的问题(可能)是,每当我在DataRepeater上向下/向上滚动时,有时它会自动检查列表中的随机RadioButton。这个控件有什么问题?
发布于 2017-01-17 19:22:59
如果您使用TextBox多行,则应该使用\r\n而不是\n
CRLF文本框需要
作为行终止符,而不仅仅是LF。
您可以使用\r\n
ss += ((Label)c.Controls["label5"]).Text + "\r\n";或System.Environment.NewLine
ss += ((Label)c.Controls["label5"]).Text + System.Environment.NewLine;或StringBuilder
var sb = new StringBuiler();
foreach (DataRepeaterItem c in dataRepeater1.Controls)
{
sb.AppendLine(((Label)c.Controls["label5"]).Text);
}
ss+= sb;https://stackoverflow.com/questions/41693789
复制相似问题