/// <summary> /// 获取报表显示列 /// </summary> /// <param name="id"></param> /// <returns></returns> public string GetReportColumns(int id) { DataSet ds = new DataSet(); ItemResult <ReportModel> result_report = new ItemResult <ReportModel>(); //ReportModel item = new ReportModel(); var db = CreateDao(); var sql = new Sql(); sql.Select("*").From("Report").Where("ID=@0", id); Sys_Report report = base.Get <Sys_Report>(id).Data; var result = new PageOfDaTaSet(); result = db.DataSet(report.ColumnsSql); db.CloseSharedConnection(); List <ViewFieldModel> columns = new List <ViewFieldModel>(); foreach (DataColumn column in result.Data.Tables[0].Columns) { ViewFieldModel field = new ViewFieldModel(); field.Field = column.ColumnName; field.Title = column.ColumnName; if (column.ColumnName.IndexOf("__") != -1) { field.Field = column.ColumnName.Substring(0, column.ColumnName.IndexOf("__")); field.Title = column.ColumnName.Substring(column.ColumnName.IndexOf("__") + 2); // field.C = column.ColumnName.Substring(column.ColumnName.IndexOf("__") + 2); } field.Width = 100; var length = field.Title.Length; if (length > 5) { field.Width = length * 20 - 20; } if (column.ColumnName == "peta_rn") { field.Title = "序号"; field.Width = 50; } columns.Add(field); } return(JsonConvert.SerializeObject(columns)); }
public async Task <ActionResult> AddField(ViewFieldModel model) { //Defines the properties model key _KeyId.SetKey(); //Sets a new properties ObjectID collection; string propertiesId = _KeyId.GetKey(); //First must create properties model; PropertiesModel properties = new PropertiesModel() { ID = propertiesId, Size = Convert.ToInt32(model.Size), Value = model.Value, Maxlength = Convert.ToInt32(model.Maxlength), Required = Convert.ToBoolean(model.Required) }; _KeyId.SetKey(); //Sets a new properties ObjectID collection; string fieldId = _KeyId.GetKey(); //Third creates field model FieldModel field = new FieldModel() { Id = fieldId, Name = model.Name, Type = model.Type, Properties = propertiesId, Date = DateTime.Now.ToLocalTime() }; _Connection.DatabaseConnection(); _Properties.SetDatabase(_Connection.GetDatabase()); _Properties.CreateProperties(properties); _Field.SetDatabase(_Connection.GetDatabase()); _Field.CreateField(field); _Metadata.SetProcessVersion(model.ProcessID); _Metadata.AddFieldToProcess(model.ProcessID, fieldId); return(await Task.Run(() => RedirectToAction("Read", "Field", new { ProcessId = model.ProcessID }))); }