请教在DataGrid标题中加入图标来实现排序的方法??急

解决方案 »

  1.   

    就是在列名旁边加个gif图标,点图标就能实现排序功能,就不知道怎么把图标加在后面!
    请指教!!~~~
      

  2.   

    DataGrid是vs2003里的东西吧,没用过,不过我想应该有template模式,应该有headertemplate
    ,直接在这里面加图片就可以了。
      

  3.   

    你在设置DataGrid时,AllowSorting设为True 绑定列的SortExpression设为你要绑定的字段就可以了。这是菜鸟在做项目时这样写的,希望你可用的上
    private void Page_Load(object sender, System.EventArgs e)
      {
       if(!IsPostBack)
       {
        //设置排序表达式
        ViewState["SortOrder"] = "LastName";
        //设置排序的升降序
        ViewState["OrderDire"] = "ASC";
        //数据绑定
        DataGridDataBind();
       }
      }数据绑定方法private void DataGridDataBind()
      {
       //定义数据连接对象,其中数据库连接字符串是在Web.Config文件中定义的
       SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSqlServer"].ToString());
       //创建数据适配器对象
       SqlDataAdapter da = new SqlDataAdapter("select LastName,FirstName,Title,TitleOfCourtesy,BirthDate,City from Employees",conn);
       //创建DataSet对象
       DataSet ds = new DataSet();
       try
       {
        //填充数据集
        da.Fill(ds,"testTable");
        //取得填充表格的默认视图
        DataView view = ds.Tables["testTable"].DefaultView;
        //设置排序关键字
        string sort = (string)ViewState["SortOrder"] + " " + (string)ViewState["OrderDire"];
        //设置排序表达式
        view.Sort =  sort;
        //数据邦定
        dgPagerState.DataSource = view;
        dgPagerState.DataBind();
       }
       catch(Exception error)
       {
        Response.Write(error.ToString());
       } 
      } DataGrid控件的分页事件private void dgPagerState_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
      {
       //设置DataGrid的当前显示页的索引值为选择的页面索引值
       dgPagerState.CurrentPageIndex = e.NewPageIndex;
       DataGridDataBind();
      }DataGrid的排序事件  private void dgPagerState_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
      {
       //取得排序表达式
       string vortExp = e.SortExpression;
       //如果是当前排序表达式
       if(ViewState["SortOrder"].ToString() == vortExp)
       {
        //如果原来是降序则改为升序,反之亦然
        if((string)ViewState["OrderDire"] == "Desc")
         ViewState["OrderDire"] = "ASC";
        else
         ViewState["OrderDire"] = "Desc";
       }
       else
       {
        //重新设置排序关键字
        ViewState["SortOrder"] = e.SortExpression;
       }
       DataGridDataBind();
      }
      

  4.   

    排序的功能我已经实现!
    我要实现点击gif来代替点击文字!
    忘高手帮忙~