protected string PutQuery(NameValueCollection queryString) { string result = "UPDATE "; if (!string.IsNullOrEmpty(CatalogName)) { result += CatalogName + "."; } result += Name + " SET"; string predicat = " WHERE 1=1"; foreach (string name in queryString) { if (!FilterableColumns.Any() || FilterableColumns.Contains(name)) { if (Criteria.TryParse(queryString[name], out Criteria criteria)) { predicat += " AND " + criteria.toSqlWhereClause(name); } else { predicat += " AND " + name; if (queryString[name].Contains("%")) { predicat += " LIKE '" + queryString[name] + "'"; } else { predicat += "=" + queryString[name].ToSqlValue(); } } } else { if (!VisibleColumns.Any() || VisibleColumns.Contains(name)) { result += name + "=" + queryString[name].ToSqlValue() + ", "; } } } result += string.Join(", ", DefaultColumns.Select(c => c.Key + "=" + c.Value.ToSqlValue())) + predicat; return(result); }
private GridRenderingData CreateRenderingData() { var renderingData = new GridRenderingData { TableHtmlAttributes = TableHtmlAttributes, DataKeyStore = DataKeyStore, HtmlHelper = new GridHtmlHelper <T>(ViewContext, DataKeyStore), UrlBuilder = UrlBuilder, DataSource = DataProcessor.ProcessedDataSource, Columns = VisibleColumns.Cast <IGridColumn>(), GroupMembers = DataProcessor.GroupDescriptors.Select(g => g.Member), Mode = CurrentItemMode, EditMode = Editing.Mode, HasDetailView = HasDetailView, Colspan = Colspan - Columns.Count(column => column.Hidden), DetailViewTemplate = MapDetailViewTemplate(HasDetailView ? DetailView.Template : null), NoRecordsTemplate = FormatNoRecordsTemplate(), Localization = Localization, ScrollingHeight = Scrolling.Height, EditFormHtmlAttributes = Editing.FormHtmlAttributes, ShowFooter = Footer && VisibleColumns.Any(c => c.FooterTemplate.HasValue() || c.ClientFooterTemplate.HasValue()), AggregateResults = DataProcessor.AggregatesResults, Aggregates = Aggregates.SelectMany(aggregate => aggregate.Aggregates), GroupsCount = DataProcessor.GroupDescriptors.Count, ShowGroupFooter = Aggregates.Any() && VisibleColumns.OfType <IGridBoundColumn>().Any(c => c.GroupFooterTemplate.HasValue()), PopUpContainer = new HtmlFragment(), #if MVC2 || MVC3 CreateNewDataItem = () => Editing.DefaultDataItem(), InsertRowPosition = Editing.InsertRowPosition, EditTemplateName = Editing.TemplateName, AdditionalViewData = Editing.AdditionalViewData, FormId = ViewContext.FormContext.FormId, #endif Callback = RowActionCallback }; if (RowTemplate.HasValue()) { renderingData.RowTemplate = (dataItem, container) => RowTemplate.Apply((T)dataItem, container); } return(renderingData); }
protected string PostQuery(NameValueCollection queryString) { string result = "INSERT INTO "; if (!string.IsNullOrEmpty(CatalogName)) { result += CatalogName + "."; } result += Name + " ("; string values = " VALUES ("; foreach (string name in queryString) { if (!VisibleColumns.Any() || VisibleColumns.Contains(name)) { result += name + ", "; values += queryString[name].ToSqlValue() + ", "; } } result += string.Join(", ", DefaultColumns.Keys) + ")" + values + string.Join(", ", DefaultColumns.Select(c => c.Value.ToSqlValue())) + ")"; return(result); }
public List <PropertyInfo> GetColumns() { if (_columns == null) { var allColumns = typeof(T).GetProperties() .Where(p => !ColumnsConfig.ColumnsToIgnore.Contains(p.Name)).ToList(); if (VisibleColumns.Any()) { var invalidColumns = VisibleColumns.Where(v => !allColumns.Select(c => c.Name).Contains(v)); if (invalidColumns.Any()) { throw new InvalidColumnNameException(invalidColumns.ToDelimitedString()); } } var orderedColumns = VisibleColumns.Select(visibleColumn => allColumns.FirstOrDefault(c => c.Name == visibleColumn)).ToList(); orderedColumns.AddRange(allColumns.Where(c => !c.IsVirtual() && !orderedColumns.Contains(c))); _columns = new List <PropertyInfo>(); _columns.AddRange(orderedColumns); } return(_columns); }
public List <DataTableColumnInfo> GetColumnInfos() { if (_columnInfos == null) { _columnInfos = new List <DataTableColumnInfo>(); var keyColumns = GetKeyColumns(); var columnsInfos = GetColumns().Select((c, index) => { var info = new DataTableColumnInfo(index) { IsDatabound = c.IsDataBound(), IsVisible = !keyColumns.Select(k => k.Name).Contains(c.Name) && (!VisibleColumns.Any() || VisibleColumns.Contains(c.Name)), DataType = c.PropertyType.ToString().ToLower() }; info.UpdateData(c.Name); info.UpdateName(c.GetDisplayName()); return(info); }).ToList(); _columnInfos.AddRange(columnsInfos); } return(_columnInfos); }
public bool HasCustomHeader() { return(VisibleColumns.Any(m => m.CustomHeader != null)); }