万能报表打印时解析富文本控件的错误解决方法
如题:格式文本控件绑定了单据的富文本控件,打印会出现乱码。解决方法为,绑定的时候选择htnl,绑定字段绑定单据的富文本字段,然后还需要编写单据/列表代码:
如下:
/// <summary>
/// 准备打印万能报表模板单据数据
/// </summary>
/// <param name="e"></param>
public override void OnPrepareDevPrintData(PreparePrintDevDataEventArgs e)
{
base.OnPrepareDevPrintData(e);
/////对应的分录相同的标记
Entity headentity = this.View.BusinessInfo.GetEntity("FBillHead");
if (headentity == null)
return;
////表格兼容处理
if (!e.DataSource.Tables.Contains(headentity.TableName))
return;
//重建数据表字段,并修改类型
DataTable dtEntity = e.DataSource.Tables[headentity.TableName];
//字段1
DataColumn myDataColum = new DataColumn();
myDataColum.DataType = System.Type.GetType("System.String");
myDataColum.ColumnName = "F_RichText1";
dtEntity.Columns.Add(myDataColum);
//字段2
DataColumn myDataColum2 = new DataColumn();
myDataColum2.DataType = System.Type.GetType("System.String");
myDataColum2.ColumnName = "F_BZXXRichText1"; ;
dtEntity.Columns.Add(myDataColum2);
for (int i = 0; i < dtEntity.Rows.Count; i++)
{
//转换富文本成html
byte[] aWrite = (byte[])dtEntity.Rows[i]["F_RichText"];//意见
byte[] aWrite2 = (byte[])dtEntity.Rows[i]["F_BZXXRichText"];//说明
if (!aWrite.IsNullOrEmpty())
{
dtEntity.Rows[i]["F_RichText1"] = Encoding.UTF8.GetString(aWrite);//意见
}
if (!aWrite2.IsNullOrEmpty())
{
dtEntity.Rows[i]["F_BZXXRichText1"] = Encoding.UTF8.GetString(aWrite2);//说明
}
}
dtEntity.Columns.Remove("F_RichText");
dtEntity.Columns.Remove("F_BZXXRichText");
myDataColum.ColumnName = "F_RichText";
myDataColum2.ColumnName = "F_BZXXRichText";
}
就可以了,后续如有其他关于万能报表的解决方法,欢迎大家分享。
万能报表打印时解析富文本控件的错误解决方法
本文2024-09-16 18:42:00发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-23835.html
- 鼎捷EAI整合規範文件V3.1.07 (集團).pdf
- 鼎捷OpenAPI應用場景說明_基礎資料.pdf
- 鼎捷OpenAPI應用場景說明_財務管理.pdf
- 鼎捷T100 API設計器使用手冊T100 APIDesigner(V1.0).docx
- 鼎新e-GoB2雲端ERP B2 線上課程E6-2應付票據整批郵寄 領取.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A4使用者建立權限設定.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程C3會計開帳與會計傳票.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程E6-1應付票據.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A5-1進銷存參數設定(初階篇).pdf
- 鼎新e-GoB2雲端ERP B2 線上課程D2帳款開帳與票據開帳.pdf