// This is a helper method used to add a sort direction image to the header of the column being sorted. public void AddSortImage(int columnIndex, GridViewRow row) { // Create the sorting image based on the sort direction. Image sortImage = new Image(); string sortdirec = ""; if (SortDirection == "asc") { sortdirec = "Ascending"; } else if (SortExpression.Contains("desc")) { sortdirec = "Decending"; } if (Convert.ToString(gvImportjob.SortDirection) == sortdirec) { sortImage.ImageUrl = "img/table/sort_asc.png"; } else { sortImage.ImageUrl = "img/table/sort_desc.png"; } // Add the image to the appropriate header cell. row.Cells[columnIndex].Controls.Add(sortImage); }
/// <summary> /// Gets the current sort expression list /// </summary> public List <ISortExpression> GetSortExpressions() { List <ISortExpression> sortExpressions = new List <ISortExpression>(); if (SortExpression != string.Empty) { // Don't split the sort expression when it contains "dbo.", as this means it is a function // and might have be taking multiple values. This still needs improvement though, as it would // break if we're mixing sort expressions to use a function and a column name. // For example: dbo.MyFunction(Col1,Col2),Col3 wouldn't work correctly. string[] array = (SortExpression.Contains("dbo.")) ? new[] { SortExpression } : SortExpression.Split(','); foreach (string sortExpression in array) { if (SortAscending) { sortExpressions.Add(new AscendingSort(sortExpression)); } else { sortExpressions.Add(new DescendingSort(sortExpression)); } } } return(sortExpressions); }
private int GetSortColumnIndex() { // Iterate through the Columns collection to determine the index of the column being sorted. foreach (DataControlField field in gvImportjob.Columns) { if (field.SortExpression != "" && field.SortExpression != null) { string sortexp = ""; if (SortExpression.Contains("asc")) { sortexp = SortExpression.Replace("asc", ""); } else if (SortExpression.Contains("desc")) { sortexp = SortExpression.Replace("desc", ""); } if (field.SortExpression.ToString().ToLower() == sortexp.ToLower().Trim()) { return(gvImportjob.Columns.IndexOf(field)); } } } return(-1); }