首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c# -迭代datarepeater中所有行的最好方法?

c# -迭代datarepeater中所有行的最好方法?
EN

Stack Overflow用户
提问于 2017-01-17 17:47:17
回答 1查看 480关注 0票数 3
代码语言:javascript
复制
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控件,它是使用上面的代码填充的。每次执行此代码时。。。

代码语言:javascript
复制
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。这个控件有什么问题?

EN

回答 1

Stack Overflow用户

发布于 2017-01-17 19:22:59

如果您使用TextBox多行,则应该使用\r\n而不是\n

CRLF文本框需要

作为行终止符,而不仅仅是LF。

您可以使用\r\n

代码语言:javascript
复制
 ss += ((Label)c.Controls["label5"]).Text + "\r\n";

System.Environment.NewLine

代码语言:javascript
复制
ss += ((Label)c.Controls["label5"]).Text  + System.Environment.NewLine;

StringBuilder

代码语言:javascript
复制
 var sb = new StringBuiler();
 foreach (DataRepeaterItem c in dataRepeater1.Controls)
 {
    sb.AppendLine(((Label)c.Controls["label5"]).Text);
 }

 ss+= sb;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41693789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档