private void AddMoveButtons(TableCell tableCell, IVwbColumn column) { if (column == _articleCheckboxes || column == _articleNumberColumn || column == _titleColumn) { return; } if (!_query.ColumnKeysInOrder.Any()) { return; } if (column.Key() != _query.ColumnKeysInOrder.FirstOrDefault()) { var link = new HyperLink { CssClass = "moveleft" }; var query = _query.Clone(); query.MoveColumnLeft(column.Key()); link.Attributes.Add("href", GetUrlForQuery(query)); tableCell.Controls.Add(link); } if (column.Key() != _query.ColumnKeysInOrder.Last()) { var link = new HyperLink { CssClass = "moveright" }; var query = _query.Clone(); query.MoveColumnRight(column.Key()); link.Attributes.Add("href", GetUrlForQuery(query)); tableCell.Controls.Add(link); } }
/// <summary> /// Immutable subheader cells do not have controls to remove /// or move them. /// Article Number subheader cell and Title fall under this distinction /// </summary> /// <returns></returns> private TableCell GetImmutableSubHeaderCell(IVwbColumn column) { var cell = new TableCell(); var link = new HyperLink { CssClass = "right space" }; LinkButtonToSortColumn(link, column); cell.Controls.Add(link); return(cell); }
private void InitializeColumns(VwbQuery query) { Columns = query.ColumnKeysInOrder != null ? ColumnFactory.GetColumns(query.ColumnKeysInOrder).ToList() : new List <IVwbColumn>(); _articleCheckboxes = ColumnFactory.GetArticleCheckboxes(); _articleNumberColumn = ColumnFactory.GetArticleNumberColumn(); _titleColumn = ColumnFactory.GetTitleColumn(); Columns.InsertRange(0, new[] { _articleCheckboxes, _articleNumberColumn, _titleColumn }); }
private TableCell GetTableSubHeaderCell(IVwbColumn col) { var tableCell = new TableCell(); IVwbColumn cur = col; AddMoveButtons(tableCell, cur); var link = new HyperLink { CssClass = "right space" }; LinkButtonToSortColumn(link, col); tableCell.Controls.Add(link); return(tableCell); }
private void LinkButtonToSortColumn(HyperLink link, IVwbColumn column) { var q = _query.Clone(); if (q.SortColumnKey == column.Key()) { q.Descending = !_query.Descending; } else { q.SortColumnKey = column.Key(); q.Descending = false; } var clas = q.Descending ? " descending-active" : null; link.CssClass += clas; link.Attributes.Add("href", GetUrlForQuery(q)); }
private TableCell GetTableHeaderCell(IVwbColumn col) { var tableCell = new TableCell { Text = col.GetHeader() }; tableCell.Controls.Add(new Label { Text = col.GetHeader() }); if (col != _articleCheckboxes && col != _articleNumberColumn && col != _titleColumn) { var linkButton = new HyperLink { CssClass = "right space" }; var q = _query.Clone(); q.ColumnKeysInOrder.Remove(col.Key()); linkButton.Attributes.Add("href", _page.Request.ServerVariables["URL"] + "?" + q.GetQueryString()); tableCell.Controls.Add(linkButton); } return(tableCell); }