this.ReportProperty.ReportName = new LocaleValue("学员信息查询", base.Context.UserLocale.LCID);
this.IsCreateTempTableByPlugin = true;
this.ReportProperty.IsUIDesignerColumns = false;
this.ReportProperty.IsGroupSummary = true;
this.ReportProperty.SimpleAllCols = false;
this.ReportProperty.IdentityFieldName = "FIDENTITYID";
}
public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName)
{
base.BuilderReportSqlAndTempTable(filter, tableName);
string sSQL = string.Empty;
this.CreatingTempTable(tableName);
sSQL = string.Format(@"/*dialect*/insert into {0}(FIDENTITYID,forgid,fstuid)
select ROW_NUMBER() OVER(ORDER BY FMasterId) FIDENTITYID, FUSEORGID ,FMasterId from PAEZ_studentcard ", tableName);
sSQL = string.Format(sSQL, this.KSQL_SEQ, tableName);
DynamicObject customFil = filter.FilterParameter.CustomFilter;
//拼成过滤条件
DynamicObject dyFilter = filter.FilterParameter.CustomFilter;
string sWhere = string.Empty;
sWhere = string.Format("where FNUMBER='{0}' ", customFil["F_PAEZ_Cartypeid"]);
//获取快捷页签的过滤字段数据
DBUtils.Execute(this.Context, sSQL);
}
//构建表结构
private void CreatingTempTable(string tableName)
{
StringBuilder sb = new StringBuilder();
sb.AppendFormat("/*dialect*/CREATE TABLE {0}(", tableName);
sb.AppendFormat("FIDENTITYID bigint primary key not null,");
sb.AppendFormat("forgid bigint default 0,");
sb.AppendFormat(" fstuid bigint default 0,");
sb.AppendFormat(" )");
DBUtils.Execute(this.Context, sb.ToString());
}
这张 简单账套 是先在表体里 手工插入了列,服务插件只进行了 sql 取数并放入临时表中。请问为什么 前台只显示了有这么多行,但是没有办法显示数据呢。 请问 如何给 手工创建的 列进行赋值呢?
推荐阅读