public override string Get() { StringBuilder grid = new StringBuilder(); using (DataTable table = this.GetTable()) { if (table.Rows.Count.Equals(0)) { return("<div class='ui message'>No record found</div>"); } TagBuilder.Begin(grid, "table"); TagBuilder.AddId(grid, "FormGridView"); TagBuilder.AddClass(grid, ConfigBuilder.GetGridViewCssClass(this.Config)); TagBuilder.AddStyle(grid, ConfigBuilder.GetGridViewWidth(this.Config) + ";white-space: nowrap;"); TagBuilder.Close(grid); List <Column> columns = GetColumns(table).ToList(); HeaderRow header = new HeaderRow(this.Config, columns); grid.Append(header.Get()); using (Body body = new Body(this.Config, table, columns)) { grid.Append(body.Get()); } TagBuilder.EndTag(grid, "table"); } return(grid.ToString()); }
public override string Get() { StringBuilder form = new StringBuilder(); TagBuilder.Begin(form, "form"); TagBuilder.AddId(form, "FormPanel"); TagBuilder.AddStyle(form, "display:none;"); TagBuilder.AddClass(form, ConfigBuilder.GetFormPanelCssClass(this.Config)); TagBuilder.Close(form); TagBuilder.Begin(form, "div"); TagBuilder.AddClass(form, ConfigBuilder.GetFormCssClass(this.Config)); TagBuilder.Close(form); TagBuilder.Begin(form, "div"); TagBuilder.AddClass(form, ConfigBuilder.GetFormDescriptionCssClass(this.Config)); TagBuilder.Close(form); form.Append(Resources.Titles.RequiredFieldDetails); TagBuilder.EndTag(form, "div"); TagBuilder.Begin(form, "table"); TagBuilder.AddAttribute(form, "role", "scrud"); TagBuilder.Close(form); IEnumerable <FieldConfig> fields = FieldConfigHelper.GetFields(this.Values, this.Config, this.Editing); foreach (Field field in fields.Select(fieldConfig => new Field(this.Config, fieldConfig))) { form.Append(field.Get()); } FormFooter footer = new FormFooter(this.Config); form.Append(footer.Get()); TagBuilder.EndTag(form, "table"); TagBuilder.EndTag(form, "div"); TagBuilder.EndTag(form, "form"); return(form.ToString()); }
private void BuildButton(StringBuilder builder, string type, string id, string click, string value) { TagBuilder.Begin(builder, "input"); TagBuilder.AddType(builder, type); TagBuilder.AddId(builder, id); if (!string.IsNullOrWhiteSpace(click)) { TagBuilder.AddAttribute(builder, "onclick", click); } if (!string.IsNullOrWhiteSpace(this.ButtonCssClass)) { TagBuilder.AddClass(builder, this.ButtonCssClass); } TagBuilder.AddValue(builder, value); TagBuilder.Close(builder, true); }
public override string Get() { StringBuilder list = new StringBuilder(); TagBuilder.Begin(list, "div"); TagBuilder.AddId(list, this.FieldConfig.ColumnName); TagBuilder.AddClass(list, "grouped inline fields"); TagBuilder.AddAttribute(list, "data-scrud", "radio"); TagBuilder.Close(list); TagBuilder.AddRadioField(list, this.FieldConfig.ColumnName, "yes", Resources.Titles.Yes, this.FieldConfig.DefaultValue.ToUpperInvariant().Equals("TRUE"), this.FieldConfig.IsDisabled); TagBuilder.AddRadioField(list, this.FieldConfig.ColumnName, "no", Resources.Titles.No, this.FieldConfig.DefaultValue.ToUpperInvariant().Equals("FALSE"), this.FieldConfig.IsDisabled); TagBuilder.EndTag(list, "div"); return(list.ToString()); }
public override string Get() { GridView grid = new GridView(this.Config); StringBuilder gridPanel = new StringBuilder(); TagBuilder.Begin(gridPanel, "div"); TagBuilder.AddId(gridPanel, "GridPanel"); TagBuilder.AddClass(gridPanel, ConfigBuilder.GetGridPanelCssClass(this.Config)); TagBuilder.AddStyle(gridPanel, ConfigBuilder.GetGridPanelStyle(this.Config)); TagBuilder.Close(gridPanel); gridPanel.Append(grid.Get()); Pager pager = new Pager(this.Config); gridPanel.Append(pager.Get()); TagBuilder.EndTag(gridPanel, "div"); return(gridPanel.ToString()); }
public override string Get() { if (string.IsNullOrWhiteSpace(this.FieldConfig.ColumnName)) { return(string.Empty); } StringBuilder textBox = new StringBuilder(); string type = "text"; bool isPasswordField = this.FieldConfig.ColumnName.ToUpperInvariant().Equals("PASSWORD"); TagBuilder.Begin(textBox, "input"); TagBuilder.AddId(textBox, this.FieldConfig.ColumnName); TagBuilder.AddAttribute(textBox, "data-scrud", "text"); if (isPasswordField && this.FieldConfig.IsDisabled) { type = "password"; this.FieldConfig.DefaultValue = "fake-password"; } if (this.FieldConfig.IsDisabled) { textBox.Append(" readonly='readonly'"); } if (!string.IsNullOrWhiteSpace(this.ValidationType)) { TagBuilder.AddAttribute(textBox, "data-vtype", this.ValidationType); } TagBuilder.AddType(textBox, type); if (this.FieldConfig.DataType.ToUpperInvariant().Equals("COLOR")) { TagBuilder.AddClass(textBox, "color"); } if (!this.FieldConfig.DefaultValue.StartsWith("nextVal", StringComparison.OrdinalIgnoreCase)) { if (this.ValidationType == "date") { DateTime date = Conversion.TryCastDate(this.FieldConfig.DefaultValue); if (date != DateTime.MinValue) { TagBuilder.AddValue(textBox, date.Date == date ? date.ToString("d") : date.ToString("f")); } TagBuilder.AddClass(textBox, "date"); } else { TagBuilder.AddValue(textBox, this.FieldConfig.DefaultValue); } } if (!this.FieldConfig.IsNullable) { TagBuilder.AddRequired(textBox); } if (this.FieldConfig.MaxLength > 0) { TagBuilder.AddAttribute(textBox, "maxlength", this.FieldConfig.MaxLength); } TagBuilder.Close(textBox, true); return(textBox.ToString()); }
public override string Get() { StringBuilder rows = new StringBuilder(); TagBuilder.Begin(rows, "tbody", true); for (int i = 0; i < this.Table.Rows.Count; i++) { DataRow row = this.Table.Rows[i]; string keyValue = row[this.Config.KeyColumn].ToString(); TagBuilder.Begin(rows, "tr", true); TagBuilder.Begin(rows, "td", true); TagBuilder.Begin(rows, "input"); TagBuilder.AddType(rows, "radio"); TagBuilder.AddId(rows, "SelectRadio" + keyValue); TagBuilder.AddValue(rows, keyValue); TagBuilder.Close(rows, true); TagBuilder.EndTag(rows, "td"); foreach (Column column in this.Columns) { TagBuilder.Begin(rows, "td"); switch (column.Type.FullName) { case "System.Decimal": case "System.Double": case "System.Single": TagBuilder.AddClass(rows, "text right"); TagBuilder.Close(rows); decimal value = Conversion.TryCastDecimal(row[column.ColumnName]); if (!value.Equals(0)) { rows.Append(value.ToString("N", CultureInfo.CurrentCulture)); } break; case "System.DateTime": TagBuilder.AddClass(rows, "text right"); TagBuilder.Close(rows); DateTime date = Conversion.TryCastDate(row[column.ColumnName]); rows.Append(date.Date == date ? Conversion.TryCastDate(date).ToString("D", CultureInfo.CurrentCulture) : Conversion.TryCastDate(date).ToString("F", CultureInfo.CurrentCulture)); break; default: TagBuilder.Close(rows); rows.Append(HttpUtility.HtmlEncode(row[column.ColumnName])); break; } TagBuilder.EndTag(rows, "td"); } TagBuilder.EndTag(rows, "tr"); } TagBuilder.EndTag(rows, "tbody"); return(rows.ToString()); }
private string GetSelect() { StringBuilder select = new StringBuilder(); TagBuilder.Begin(select, "select"); TagBuilder.AddId(select, this.FieldConfig.ColumnName); TagBuilder.AddAttribute(select, "data-scrud", "select"); if (!this.FieldConfig.IsNullable) { TagBuilder.AddRequired(select); } if (this.FieldConfig.IsDisabled) { TagBuilder.AddDisabled(select); } TagBuilder.Close(select); using ( DataTable table = GetTable(this.FieldConfig.ParentTableSchema, this.FieldConfig.ParentTable, this.FieldConfig.ParentTableColumn, this.Config.DisplayViews, this.Config.UseDisplayViewsAsParents)) { //Get the expression value of display field from comma separated list of expressions. //The expression can be either the column name or a column expression. string columnOrExpression = Helpers.Expression.GetExpressionValue(this.Config.DisplayFields, this.FieldConfig.ParentTableSchema, this.FieldConfig.ParentTable, this.FieldConfig.ParentTableColumn); //Let's check whether the display field expression really exists. //If it does not exist, it is probably an expression column. if (!table.Columns.Contains(columnOrExpression) && !string.IsNullOrWhiteSpace(columnOrExpression)) { //Add the expression as a new column in the datatable. table.Columns.Add("DataTextField", typeof(string), columnOrExpression); columnOrExpression = "DataTextField"; } if (table.Rows.Count > 0) { if (this.FieldConfig.IsNullable) { TagBuilder.Begin(select, "option"); TagBuilder.AddAttribute(select, "value", string.Empty); TagBuilder.Close(select); select.Append(string.Empty); TagBuilder.EndTag(select, "option"); } foreach (DataRow row in table.Rows) { string value = row[this.FieldConfig.ParentTableColumn].ToString(); TagBuilder.Begin(select, "option"); TagBuilder.AddAttribute(select, "value", value); if (value == this.FieldConfig.DefaultValue) { TagBuilder.AddSelected(select); } TagBuilder.Close(select); @select.Append(!string.IsNullOrWhiteSpace(columnOrExpression) ? row[columnOrExpression] : row[1]); TagBuilder.EndTag(select, "option"); } } } TagBuilder.EndTag(select, "select"); return(select.ToString()); }