private void PrepColumns(Models.GridContext gridContext, RenderingModel model) { foreach (var col in gridContext.GetVisibleColumns()) { Column renderingColumn = new Column(); model.Columns.Add(renderingColumn); renderingColumn.Name = col.ColumnName; renderingColumn.HeaderText = col.HeaderText; if (gridContext.GridDefinition.Sorting && col.EnableSorting) { SortDirection linkDirection = SortDirection.Asc; SortDirection iconDirection = SortDirection.Unspecified; if (gridContext.QueryOptions.SortColumnName == col.ColumnName && gridContext.QueryOptions.SortDirection == SortDirection.Asc) { iconDirection = SortDirection.Asc; linkDirection = SortDirection.Dsc; } else if (gridContext.QueryOptions.SortColumnName == col.ColumnName && gridContext.QueryOptions.SortDirection == SortDirection.Dsc) { iconDirection = SortDirection.Dsc; linkDirection = SortDirection.Asc; } else { iconDirection = SortDirection.Unspecified; linkDirection = SortDirection.Asc; } renderingColumn.Onclick = HtmlUtility.MakeSortLink(gridContext.GridName, col.ColumnName, linkDirection); renderingColumn.SortIconDirection = iconDirection; } } }