首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

急asp.net中怎么使GridView进行自动排序,多谢

2012-04-05 
急急急,asp.net中如何使GridView进行自动排序,谢谢我先说一下我写的代码:在页面中添加了一个GridView,Grid

急急急,asp.net中如何使GridView进行自动排序,谢谢
我先说一下我写的代码:
在页面中添加了一个GridView,GridView的绑定数据源并不是连接数据库信息,而是一个列表数组List,我想使GridView按list中的自段ID进行排序,已经在前台界面设置了AllowSorting="True" SortExpression="ID",不知道 protected void gvinfo_Sorting(object sender, GridViewSortEventArgs e)里面的事件应该如何去写,我从网上查的资料都是用dataview的,而我的是list信息,不知道怎么去写?
页面相关代码如下:
 public static List<Model.DataPoint> dpinfolist = new List<Model.DataPoint>();
.............
 protected void Page_Load(object sender, EventArgs e)
  {
  if (!Page.IsPostBack)
  {
  this.BindGridView();
   
  }
   
  }
  protected void BindGridView()
  {
   
  gvinfo.DataSource = dpinfolist;
  gvinfo.DataKeyNames = new string[] { "ID" };
  gvinfo.DataBind();

  }

  protected void gvinfo_Sorting(object sender, GridViewSortEventArgs e)
  {
  求这里面的代码怎么写,谢谢

  }

[解决办法]
你绑定前先对list进行排序,排序调用list.Sort(new MyComparer());

C# code
class MyComparer:IComparer<Model>{  int IComparer<Model>.Comparer(Model x,Model y){  return x.ID>y.ID?1:-1;//如果ID是字符串则进行Int.parse()转换}}
[解决办法]
好麻烦的样子啊。。直接对数据源进行排序多好。。加个 order by 而已。多几个条件判断 单击不同表头的时候按不同的数据源。
[解决办法]
sql语句自带 order by 这个比较简单
[解决办法]
这样比较好,灵活,想对那个字段排序就对那个字段排序
探讨

你绑定前先对list进行排序,排序调用list.Sort(new MyComparer());

C# code
class MyComparer:IComparer<Model>
{
int IComparer<Model>.Comparer(Model x,Model y)
{
return x.ID>y.ID?1:-1;//如果ID是字符串则进行Int.parse()转换
}……

[解决办法]
list集合本身就自带有orderby 的功能
C# code
 public class Test    {        public int IID { get; set; }        public string str { get; set; }    }  List<Test> TestList = new List<Test>();            TestList.OrderBy(x => x.IID);//升序            TestList.OrderByDescending(x => x.IID);//降序 

热点排行