繁体   English   中英

需要在多行文本框中显示来自SQL的数据

[英]Need to Display Data From SQL in a Multiline TextBox

在将基于控制台的应用程序集成到基于Web的应用程序的过程中,遇到了以下问题:

我需要在多行文本框中显示数据 (根据要求),以使每个记录都显示在文本框中而不会覆盖前一个(它应该在下一行中)。

对于Windows窗体,我使用以下代码:

        if (reader.HasRows)
        {
            while (reader.Read())
            {
                predicted_grade = reader["Domain"].ToString();
                priority = "Priority: " + i;
                predicted_grade = priority +" --- "+predicted_grade + "\r\n";
                textBox2.AppendText(predicted_grade);
                i++;
            }
        }

但是由于AppendText属性不能在ASP.net网站中运行,所以我不知道该怎么做。 请指导我,如何使数据显示为:

Code | Course Name | Predicted_Grade
1    |   Science   |  A+
2    |   Maths     |  B
3    |   History   |  C

使用多行文本框

您可以使用Environment.NewLine

textBox2.Text = predicted_grade + Environment.NewLine;

http://msdn.microsoft.com/en-GB/library/system.environment.newline.aspx

您可以通过修改您的ASP.NET页中的AppendText功能

predicted_grade = priority +" --- "+predicted_grade + "\r\n";
textBox2.AppendText(predicted_grade);

predicted_grade = priority +" --- "+predicted_grade + Environment.NewLine;
textBox2.Text += predicted_grade;

或者,如果您在项目的许多页面中使用AppendText() ,则可AppendText TextBox控件创建扩展方法AppendText

public static class MyExtensions
{
    public static void AppendText(this TextBox textBox, String text)
    {
        textBox.Text += text;
    }
}

要使用它,只需调用:

predicted_grade = priority +" --- "+predicted_grade + Environment.NewLine;
textBox2.AppendText(predicted_grade);

您还可以使用扩展方法来为您处理\\r\\n

    public static void AppendLine(this TextBox textBox, String text)
    {
        textBox.Text += text + Environment.NewLine;
    }

要使用它,只需调用:

predicted_grade = priority +" --- "+predicted_grade;
textBox2.AppendLine(predicted_grade);

P / S: \\r\\n在ASP.Net TextBox中不起作用,因此您需要使用Darren提到的NewLine

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM