
【场景】数值不显示千分位
【原始代码和效果】
```csharp
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Contracts.Report;
using Kingdee.BOS.Core.Report;
using System.Collections.Generic;
using System.Text;
namespace DynamicFormPlugIn.Report
{
[Kingdee.BOS.Util.HotUpdate]
[System.ComponentModel.Description("简单报表案例")]
public class ReportServicePlugIn_Decimal : SysReportBaseService
{
public override void Initialize()
{
}
public override ReportHeader GetReportHeaders(IRptParams filter)
{
ReportHeader rptHeader = new ReportHeader();
rptHeader.AddChild("FQty", new Kingdee.BOS.LocaleValue("数量"), Kingdee.BOS.SqlStorageType.SqlDecimal);
return rptHeader;
}
public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName)
{
StringBuilder stringBuilder = new StringBuilder();
KSQL_SEQ = string.Format(KSQL_SEQ, "FID");
stringBuilder.AppendFormat("select top 10 FID, FQty, {0} into {1} from t_pur_poorderentry", KSQL_SEQ, tableName);
DBUtils.Execute(this.Context, stringBuilder.ToString());
}
}
}
```

【原理】
当没有定义精度控制时,或精度为0时,不会显示千分位
【修改方案】

```csharp
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Contracts.Report;
using Kingdee.BOS.Core.Report;
using System.Collections.Generic;
using System.Text;
namespace DynamicFormPlugIn.Report
{
[Kingdee.BOS.Util.HotUpdate]
[System.ComponentModel.Description("简单报表案例")]
public class ReportServicePlugIn_Decimal : SysReportBaseService
{
public override void Initialize()
{
var decimalFieldList = new List<DecimalControlField>();
var decimalField = new DecimalContro