public static SWBaseTag GetTag(string type) { if (String.IsNullOrWhiteSpace(type)) { return(null); } type = type.ToLower(); SWBaseTag tag = null; switch (type) { case SWInputTextTag.Type: tag = new SWInputTextTag(); break; case SWDateTag.Type: tag = new SWDateTag(); break; case SWVarTag.Type: tag = new SWVarTag(); break; case SWQueryTag.Type: tag = new SWQueryTag(); break; case SWSelectTag.Type: tag = new SWSelectTag(); break; case SWInputDateTag.Type: tag = new SWInputDateTag(); break; case SWInputTimeTag.Type: tag = new SWInputTimeTag(); break; } return(tag); }
public static SWBaseTag GetTag(string type) { if (String.IsNullOrWhiteSpace(type)) return null; type = type.ToLower(); SWBaseTag tag = null; switch (type) { case SWInputTextTag.Type: tag = new SWInputTextTag(); break; case SWDateTag.Type: tag = new SWDateTag(); break; case SWVarTag.Type: tag = new SWVarTag(); break; case SWQueryTag.Type: tag = new SWQueryTag(); break; case SWSelectTag.Type: tag = new SWSelectTag(); break; case SWInputDateTag.Type: tag = new SWInputDateTag(); break; case SWInputTimeTag.Type: tag = new SWInputTimeTag(); break; } return tag; }
private string ProcessQueryTag(SWQueryTag tag, out string errormessage) { errormessage = ""; if (tag == null) return ""; tag = (from t in this.ReportItem.TemplateTags where tag.Name.ToLower().Equals(t.Name.ToLower()) && tag.TagType.Equals(t.TagType) select t as SWQueryTag).FirstOrDefault(); if (tag == null) return ""; string result = "<table class=\"table table-striped table-bordered table-hover dataTable no-footer\">"; DbDataReader reader = null; DbConnection conn = null; try { reader = ConnectionItem.GetReader(this.ReportItem.ConnectionItem, tag.Value, out errormessage, out conn, this.SetupQueryParameters(tag)); if (reader != null) { result += "<thead>"; result += "<tr role=\"row\">"; for (int i = 0; i < reader.FieldCount; i++) { result += String.Format("<th class=\"sorting_asc\" tabindex=\"0\" rowspan=\"1\" colspan=\"1\">{0}</th>", reader.GetName(i)); } result += "</tr>"; result += "</thead>"; string isSame = ""; while (reader.Read()) { result += "<tr>"; for (int i = 0; i < reader.FieldCount; ++i) { string value = reader[i].ToString(); if (!(value.StartsWith("<") && value.EndsWith("/>"))) { value = WebUtility.HtmlEncode(value); if (i == 0) { if (String.Equals(isSame, value)) { value = ""; } else { isSame = value; } } } result += String.Format("<td>{0}</td>", value); } result += "</tr>"; } } } catch (Exception ex) { errormessage = ex.Message; } finally { if (reader != null) { reader.Close(); reader.Dispose(); reader = null; } if (conn != null) { conn.Close(); conn = null; } } result += "</table>"; return result; }