LineBreak 在 GridView 的绑定中不起作用
LineBreak not working in Binding of GridView
在 ASP.NET 应用程序中,我有如下所列的多行字符串值。
代码:
string remarks="Line 1 \n";
remarks+=remarks+"\n Line 2 \n";
Console.Writeln(remarks);
输出:
Line 1
Line 2
现在我想要字符串值的相同输出,当我将它们插入 SQL 服务器上的 table 时,检索它们然后通过绑定将它们呈现在 GridView 中。
但是从数据库中检索后,我只能像这样在一行中获取整个字符串(换行符不起作用):
Line 1Line 2
我尝试了 Environement.NewLine
和 StringBuilder
,但我总是从服务器获取单行输出。
我做错了什么?
SQL 将保留插入的换行符。
默认情况下,DataGridView 对象等不会出现换行符。
尝试:
dataGridView1.Columns[0].DefaultCellStyle.WrapMode = DataGridViewTriState.True;
在行绑定事件中将“\n”替换为“
”
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
for (int i = 0; i < e.Row.Cells.Count; i++)
{
e.Row.Cells[i].Text = e.Row.Cells[i].Text.Replace("\n", "<br/>");
}
}
在 ASP.NET 应用程序中,我有如下所列的多行字符串值。
代码:
string remarks="Line 1 \n";
remarks+=remarks+"\n Line 2 \n";
Console.Writeln(remarks);
输出:
Line 1
Line 2
现在我想要字符串值的相同输出,当我将它们插入 SQL 服务器上的 table 时,检索它们然后通过绑定将它们呈现在 GridView 中。
但是从数据库中检索后,我只能像这样在一行中获取整个字符串(换行符不起作用):
Line 1Line 2
我尝试了 Environement.NewLine
和 StringBuilder
,但我总是从服务器获取单行输出。
我做错了什么?
SQL 将保留插入的换行符。
默认情况下,DataGridView 对象等不会出现换行符。 尝试:
dataGridView1.Columns[0].DefaultCellStyle.WrapMode = DataGridViewTriState.True;
在行绑定事件中将“\n”替换为“
”
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
for (int i = 0; i < e.Row.Cells.Count; i++)
{
e.Row.Cells[i].Text = e.Row.Cells[i].Text.Replace("\n", "<br/>");
}
}