public string GetFilterLayoutJs(string userId = "") { List <string> fileds = this.CanFilterFields(userId); if (fileds == null || fileds.Count == 0) { return(string.Empty); } List <FilterField> filterFiledList = new List <FilterField>(); foreach (var item in fileds) { DataTable dt = this.DataSet.Tables[0]; if (dt.Columns[item] == null) { throw new Exception("字段不存在"); } DefineField df = DataSourceHelper.ConvertToDefineField(dt.Columns[item]); filterFiledList.Add(new FilterField(df.ControlType, df.Name, df.DisplayName)); } if (this.Template.BillType == BillType.Rpt) { return(JsBuilder.BuildFilterFieldJs(filterFiledList)); } else { // 主数据、单据、Grid return(JsBuilder.BuildFilterFieldJsForBillListing(filterFiledList)); } }
public override string CreateRenderer() { DataTable table = this.DataSet.Tables[TableIndex]; List <LayoutField> layoutFields = new List <LayoutField>(); if (GridScheme != null) { HashSet <string> exist = new HashSet <string>(); foreach (var item in GridScheme.GridFields) { LibGridFieldScheme realItem = item.Field; if (!exist.Contains(realItem.Name)) { exist.Add(realItem.Name); } if (!table.Columns.Contains(realItem.Name)) { continue; } LayoutField field = new LayoutField(table.Columns[realItem.Name], TableIndex); if (realItem.Width != field.Width) { field.Width = realItem.Width; } layoutFields.Add(field); } foreach (var item in this.FieldList) { if (exist.Contains(item)) { continue; } if (string.IsNullOrEmpty(item) || table.Columns.Contains(item) == false) { continue; } LayoutField field = new LayoutField(table.Columns[item], TableIndex); field.Hidden = true; layoutFields.Add(field); } } else { foreach (var item in this.FieldList) { if (string.IsNullOrEmpty(item) || table.Columns.Contains(item) == false) { continue; } layoutFields.Add(new LayoutField(table.Columns[item], TableIndex)); } } return(JsBuilder.BuildGrid(layoutFields, AddAutoRowNo)); }
/// <summary> /// 生成逻辑 /// </summary> /// <param name="compile">DOJO编译器</param> /// <param name="doc">文档对象模型</param> public string Build(string project, string screen, ScreenDefinition sd, bool isPreview) { using (var writer = new StringWriter()) { //根据屏幕生成HTML var htmlWriter = new HtmlTextWriter(writer); HtmlBuilder htmlBuilder = new HtmlBuilder(); htmlBuilder.Build(project, sd, htmlWriter, isPreview); if (!isPreview) { JsBuilder jsBuilder = new JsBuilder(); jsBuilder.Build(project, screen, sd, htmlWriter); } return(writer.ToString()); } }
/// <summary> /// Build the javascript. /// </summary> public override void Build(JsBuilder builder) { builder.String.Append(Value); }
public AspValidateMiddleware(RequestDelegate next, JsBuilder jsBuilder, AspValidateOptions options) { this.Next = next; this.JsBuilder = jsBuilder; this.Options = options; }