asp.net点击表头增加排序标示

首先点击gridview的表头要有排序的功能才行,关于这个我的另一篇文章里有介绍
注意要把gridview表头的HtmlEncode的值改成false

 /// <summary>
    
/// 为GridView.HeaderRow添加排序标识符
    
/// </summary>
    
/// <param name="headerRow">GridViewRow</param>

    private void changeHeaders(GridViewRow headerRow)
    
{
        
if (this.GridViewFileList.Rows.Count > 0) //有数据时才执行
        
{
            
for (int i = 0; i < headerRow.Cells.Count; i++)
            
{
                
if (headerRow.Cells[i] is DataControlFieldCell)
                
{
                    DataControlField field 
= ((DataControlFieldCell)headerRow.Cells[i]).ContainingField;
                    
if (field.HeaderText.IndexOf("">= 0 || field.HeaderText.IndexOf("">= 0)
                        field.HeaderText 
= field.HeaderText.Substring(0, field.HeaderText.Length - "<font color='#FF0000'>↓

</font>".Length); //把开始的排序方式去掉

                    
if (this.HiddenFieldGridViewSortExpression.Value != "" && 

this.HiddenFieldGridViewSortExpression.Value.Trim().Equals(field.SortExpression.Trim()))
                    
{
                            //保存了排序方式的隐藏控件
                        
if (this.HiddenFieldGridViewSortDirection.Value.Equals("DESC")) //增加新的排序方式
                            field.HeaderText = field.HeaderText + "<font color='#FF0000'>↓</font>";
                        
else
                            field.HeaderText 
= field.HeaderText + "<font color='#FF0000'>↑</font>";
                    }

                }

            }

        }

    }
posted on 2008-07-16 14:43  ringwang  阅读(507)  评论(0编辑  收藏  举报