gridview 显示无法换行

kimuji 2015-01-07 11:10:10
我要在gridview里显示成下面这样子:
公司依法与劳动者签订和解除劳动合同,主要内容约定:
1、劳动合同期限;
2、工作内容和工作地点;
3、工作时间和休息休假;
4、劳动报酬支付;
5、社会保险缴纳、劳动保护、劳动条件和职业危害防护;
6、聘用期内,乙方一经甲方聘用,所享有的权利及履行的义务;
7、甲乙双方对于培训的权利及义务;
8、保密和竞业限制;
9、甲乙双方对于劳动合同的解除条件;
10、甲乙双方对于劳动合同解除、变更、终止劳动合同相关手续的办理;
11、违约责任;
12、劳动争议解决方式;
13、双方协商约定的其他内容。

但实际上显示出来的是


请问怎么样才可以实现我想要的显示方式?

我在添加的时候给每条后面加上<br/> 但是不换行,会将<br/>显示出来
...全文
303 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
tongxuejie 2015-01-09
  • 打赏
  • 举报
回复
在GridView里面 单纯的加转义换行 比如"\r\n" "<br/>"确实是不行的,需要其它设置。
tongxuejie 2015-01-09
  • 打赏
  • 举报
回复
使用 "<br/>"应该可以 是不是方法错了? 把对应的BoundField设置参数HtmlEncode= "false" 如果是自动生成字段 那么就添加GridView1_RowDataBound事件 然后 Server.HtmlDecode(txtID.Text);
kimuji 2015-01-09
  • 打赏
  • 举报
回复
for (int i = 0; i < dt.Rows.Count; i++)
{
string str = dt.Rows[i][10].ToString();
str.Replace("\n", "<br/>");

}
this.GridView1.DataSource = dt;


tongxuejie 2015-01-09
  • 打赏
  • 举报
回复
引用 19 楼 kimuji 的回复:
[quote=引用 17 楼 tongxuejie 的回复:] 使用 "<br/>"应该可以 是不是方法错了? 把对应的BoundField设置参数HtmlEncode= "false" 如果是自动生成字段 那么就添加GridView1_RowDataBound事件 然后 Server.HtmlDecode(txtID.Text);
按您的思路,搞定了,谢谢[/quote] 不客气 助人为乐嘛
kimuji 2015-01-09
  • 打赏
  • 举报
回复
引用 17 楼 tongxuejie 的回复:
使用 "<br/>"应该可以 是不是方法错了? 把对应的BoundField设置参数HtmlEncode= "false" 如果是自动生成字段 那么就添加GridView1_RowDataBound事件 然后 Server.HtmlDecode(txtID.Text);
按您的思路,搞定了,谢谢
mysz_2361014883 2015-01-08
  • 打赏
  • 举报
回复
GridView如何强制换行显示数据 protected void Page_Load(object sender, EventArgs e) { //正常换行,normal为默认情况,英文单词不被拆开 //GridView1.Attributes.Add("style", "word-break:keep-all;word-wrap:normal"); //一般换行,此方法可解决长串英文单词被断开,但会导致普通英文语句中的单词被断开 //GridView1.Attributes.Add("style", "word-wrap:break-word;word-break:break-all"); //最佳换行方案 GridView1.Attributes.Add("style", "word-wrap:break-word;overflow:hidden"); if (!IsPostBack) { SqlConnection sqlcon = new SqlConnection(ConfigurationManager.AppSettings["conStr"]); SqlDataAdapter myda = new SqlDataAdapter("select * from tb_Card", sqlcon); DataSet myds = new DataSet(); myda.Fill(myds); GridView1.DataSource = myds; GridView1.DataBind(); }//codego.net/tags/11/1/ }
於黾 2015-01-07
  • 打赏
  • 举报
回复
<br/>是html语言 你要让控件里的字符串换行,应该使用\n
信仰诠释过往 2015-01-07
  • 打赏
  • 举报
回复
先把内容分组,然后把分组的内容填充到一个集合中,绑定数据,就可以了
  • 打赏
  • 举报
回复
你不能在录入数据时候直接输出<br />的,应该这样可能会被htmlencode 录入数据的时候你敲回车,然后存到数据库里,可以看到换行符就是\n 在gridview的显示模式下,你需要Replace((string)Eval("字段"), "\n", "<br/>") 在Edit模式下,直接绑定字段值就行了
  • 打赏
  • 举报
回复
看html里面标签有没有错乱的,作为文本直接显示时用<br/>就是换行 在textbox里就是\n了
天空丶蒋 2015-01-07
  • 打赏
  • 举报
回复
Tucker_blog 2015-01-07
  • 打赏
  • 举报
回复
\r\n
kimuji 2015-01-07
  • 打赏
  • 举报
回复
感谢两位的热情回复,我试了下还是不行,准备在添加的时候用freetextbox试试
回.到.未来 2015-01-07
  • 打赏
  • 举报
回复
给你要换行的文字加上HttpUtility.HtmlDecode,<br>就会当成换行显示
於黾 2015-01-07
  • 打赏
  • 举报
回复
目测是你把文本框里的内容存数据库了,回车都是按\n存的 然后你放到html里显示,那么\n就不显示了,也不换行,所以显示出来都是没用换行的 显示之前执行string.Replace("\n","<br/>")
kimuji 2015-01-07
  • 打赏
  • 举报
回复
引用 6 楼 Z65443344 的回复:
晕,早说啊 你数据直接在文本框里输入的,不是代码拼接的,那当然转义符都没用
请问用第三方控件可以实现吗?比如freetextbox 、ckeditor
於黾 2015-01-07
  • 打赏
  • 举报
回复
晕,早说啊 你数据直接在文本框里输入的,不是代码拼接的,那当然转义符都没用
kimuji 2015-01-07
  • 打赏
  • 举报
回复
引用 4 楼 Z65443344 的回复:
那就试试\r 或者\n\r
不行,都是当做字符给输出来显示了。 我的数据都是在客户端添加的,之前使用这些转换符的时候提示有验证,后来我把page的验证给关掉了。
於黾 2015-01-07
  • 打赏
  • 举报
回复
那就试试\r 或者\n\r
kimuji 2015-01-07
  • 打赏
  • 举报
回复
引用 2 楼 Z65443344 的回复:
<br/>是html语言
你要让控件里的字符串换行,应该使用\n

我后面加上\n,结果输出内容就只是多了一个\n

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧