You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C# .NET Framework中DataGridView显示JSON文本换行失效问题

解决方案

第一步:配置DataGridView支持换行展示

这是换行生效的前提,默认DataGridView单元格不会自动换行,需要手动开启对应属性:
在窗体初始化/DataGridView初始化逻辑中添加如下代码:

// 全局开启所有单元格文本自动换行
_problemsList.DefaultCellStyle.WrapMode = DataGridViewTriState.True;
// 设置行高自动适配内容,避免换行后内容被截断
_problemsList.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;

如果你只需要指定列(示例中展示文本的索引为1的列)支持换行,不需要全局生效,可以单独对目标列配置:

_problemsList.Columns[1].DefaultCellStyle.WrapMode = DataGridViewTriState.True;

第二步:处理JSON文本中的换行符

JSON反序列化后,部分场景下换行符会保留转义格式\\n,需要统一替换为系统识别的换行符,修改单元格赋值的代码如下:

// 先替换所有转义/未转义的换行符为系统换行符,再赋值给单元格
string textContent = userProblems["text"].ToString()
    .Replace("\\n", Environment.NewLine)
    .Replace("\n", Environment.NewLine);
_problemsList.Rows[rowIndex].Cells[1].Value = textContent;

之前直接拼接Environment.NewLine不生效的核心原因是没有开启单元格的WrapMode属性,换行展示规则被默认禁用。


内容的提问来源于stack exchange,提问作者Hope1_

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 19:36:03