private BO.TheGridColumn InhaleColumn4Relation(string strRelName, string strFieldEntity, string strFieldName, List <BO.EntityRelation> applicable_rels, bool bolComboColumns) { BO.TheGridColumn c0 = ByUniqueName("a__" + strFieldEntity + "__" + strFieldName); BO.TheGridColumn c = Clone2NewInstance(c0); BO.EntityRelation rel = applicable_rels.Where(p => p.RelName == strRelName).First(); c.RelName = strRelName; c.RelSql = rel.SqlFrom; if (rel.RelNameDependOn != null) { c.RelSqlDependOn = applicable_rels.Where(p => p.RelName == rel.RelNameDependOn).First().SqlFrom; //relace závisí na jiné relaci } if (c.NotShowRelInHeader == true) { return(c); //nezobrazovat u sloupce název relace } if (bolComboColumns == true) { c.Header = rel.AliasSingular; } else { c.Header = c.Header + " [" + rel.AliasSingular + "]"; } return(c); }
private BO.TheGridColumn Clone2NewInstance(BO.TheGridColumn c) { return(new BO.TheGridColumn() { Entity = c.Entity, EntityAlias = c.EntityAlias, Field = c.Field, FieldType = c.FieldType, FixedWidth = c.FixedWidth, Header = c.Header, SqlSyntax = c.SqlSyntax, IsFilterable = c.IsFilterable, IsShowTotals = c.IsShowTotals, IsTimestamp = c.IsTimestamp, RelName = c.RelName, RelSql = c.RelSql, RelSqlDependOn = c.RelSqlDependOn, NotShowRelInHeader = c.NotShowRelInHeader }); }
public List <BO.TheGridColumn> ParseTheGridColumns(string strPrimaryPrefix, string strJ72Columns) { //v strJ72Columns je čárkou oddělený seznam sloupců z pole j72Columns: název relace+__+entita+__+field List <BO.EntityRelation> applicable_rels = BL.TheEntities.getApplicableRelations(strPrimaryPrefix); List <string> sels = BO.BAS.ConvertString2List(strJ72Columns, ","); List <BO.TheGridColumn> ret = new List <BO.TheGridColumn>(); string[] arr; BO.EntityRelation rel; for (var i = 0; i < sels.Count; i++) { arr = sels[i].Split("__"); if (_lis.Exists(p => p.Entity == arr[1] && p.Field == arr[2])) { //var c0 = _lis.Where(p => p.Entity == arr[1] && p.Field == arr[2]).First(); BO.TheGridColumn c = Clone2NewInstance(_lis.Where(p => p.Entity == arr[1] && p.Field == arr[2]).First()); if (arr[0] == "a") { c.RelName = null; } else { c.RelName = arr[0]; //název relace v sql dotazu rel = applicable_rels.Where(p => p.RelName == c.RelName).First(); c.RelSql = rel.SqlFrom; //sql klauzule relace if (c.NotShowRelInHeader == false) { c.Header = c.Header + " [" + rel.AliasSingular + "]"; //zobrazovat název entity v záhlaví sloupce } if (rel.RelNameDependOn != null) { c.RelSqlDependOn = applicable_rels.Where(p => p.RelName == rel.RelNameDependOn).First().SqlFrom; //relace závisí na jiné relaci } } if ((i == sels.Count - 1) && (c.FieldType == "num" || c.FieldType == "num0" || c.FieldType == "num3")) { c.CssClass = "tdn_lastcol"; } ret.Add(c); } } return(ret); }
public static string ParseCellValueFromDb(System.Data.DataRow dbRow, BO.TheGridColumn c) { if (dbRow[c.UniqueName] == System.DBNull.Value) { return(""); } switch (c.FieldType) { case "bool": if (Convert.ToBoolean(dbRow[c.UniqueName]) == true) { return("✔"); } else { return(""); } case "num0": return(string.Format("{0:#,0}", dbRow[c.UniqueName])); case "num": return(string.Format("{0:#,0.00}", dbRow[c.UniqueName])); case "num3": return(string.Format("{0:#,0.000}", dbRow[c.UniqueName])); case "num4": return(string.Format("{0:#,0.0000}", dbRow[c.UniqueName])); case "num5": return(string.Format("{0:#,0.00000}", dbRow[c.UniqueName])); case "num6": return(string.Format("{0:#,0.000000}", dbRow[c.UniqueName])); case "num7": return(string.Format("{0:#,0.0000000}", dbRow[c.UniqueName])); case "num1": return(string.Format("{0:#,0.0}", dbRow[c.UniqueName])); case "date": return(Convert.ToDateTime(dbRow[c.UniqueName]).ToString("dd.MM.yyyy")); case "datetime": return(Convert.ToDateTime(dbRow[c.UniqueName]).ToString("dd.MM.yyyy HH:mm")); case "datetimesec": return(Convert.ToDateTime(dbRow[c.UniqueName]).ToString("dd.MM.yyyy HH:mm:ss")); case "time": return(Convert.ToDateTime(dbRow[c.UniqueName]).ToString("HH:mm")); default: return(dbRow[c.UniqueName].ToString()); } }