protected override string RenderFormContent() { StringBuilder formHtml = new StringBuilder(); string ffContent = FFrm.FFContent; foreach (var field in _existTemplateFields) { ffContent = ffContent.Replace("${" + field.FieldComment + "}", field.BuilderFreeForm(FormId, _formStatus)); } foreach (var table in _childTableList) { string primaryKey = _dbContext.Columns(table.Value.TableName).FirstOrDefault(f => f.RefTable == _fapTable.TableName)?.ColName ?? ""; Guard.Against.NullOrWhiteSpace(primaryKey, nameof(primaryKey)); Grid grid = new Grid(_dbContext, _rbacService, _applicationContext, _multiLangService, $"grid-{table.Value.TableName}"); QuerySet qs = new QuerySet(); qs.TableName = table.Value.TableName; qs.GlobalWhere = $"{primaryKey}='{FidValue}'"; var subColumnList = _dbContext.Columns(table.Value.TableName); if (subColumnList != null && subColumnList.Any()) { //元数据默认值 foreach (var subCol in subColumnList) { if (subCol.ColDefault.IsPresent()) { qs.AddDefaultValue(subCol.ColName, subCol.ColDefault); } } } if (_subTableListDefaultData != null && _subTableListDefaultData.Any()) { //自定义默认值 var subDefaultData = _subTableListDefaultData.First(t => t.TableName == table.Value.TableName)?.Data; if (subDefaultData != null) { foreach (var sd in subDefaultData) { qs.AddDefaultValue(sd.Key, sd.Value); } } } qs.QueryCols = "*"; grid.SetQueryOption(qs); grid.SetPostData(new { QuerySet = qs, HasOperCol = false }); if (_formStatus != FormStatus.View && !childGridReadOnly) { grid.SetEditRowModel(EditRowModel.Inline); grid.SetPager($"pager-{table.Value.TableName}"); } grid.SetEditUrl("clientArray"); grid.SetEditRowModel(EditRowModel.Inline); grid.SetColMenu(false); grid.SetShrinkToFit(false); grid.SetInsideElement("girdcontainer"); ffContent = ffContent.Replace(table.Key, grid.ToString()); //ffContent = ffContent.Replace("{{" + table.TableComment + "}}", $"<iframe width='100%' height='400' frameborder='0' scrolling='auto' src='/PublicCtrl/InlineGridPage?tn={table.TableName}&fid={newUid}&primaryKey={primaryKey}'></iframe>"); } formHtml.AppendLine("<div class=\"wordpage\">"); formHtml.AppendLine(ffContent); //增加存储的子表 if (_childTableList.Any() && _formStatus != FormStatus.View && !childGridReadOnly) { formHtml.Append($"<label id='lblchildgrid' hidden='hidden'>{string.Join(',', _childTableList.Values.Select(t => t.TableName))}</label >"); } formHtml.AppendLine("</div>"); return(formHtml.ToString()); }